PluginProbe
404 Solution / 4.2.0
404 Solution v4.2.0
4.3.5 4.3.4 4.3.3 4.3.2 4.3.1 4.3.0 4.2.0 4.1.19 4.1.18 4.1.17 4.1.16 4.1.15 4.1.13 4.1.12 4.1.11 4.1.10 4.1.9 4.1.8 4.1.7 4.1.6 4.1.5 4.1.4 4.1.3 trunk 2.30.0 All 109 releases
404-solution / includes / html / engineProfilesSection.html

engineProfilesSection.html in 404 Solution 4.2.0, at includes/html/engineProfilesSection.html

104 lines 6.2 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <div id="abj404-engine-profiles-section">
2
3 <p>{By default, when a visitor hits a 404 URL, all suggestion methods run: slug matching, spelling correction, title matching, content search, category/tag matching, URL fixing, and archive fallback. Engine Profiles let you override this for specific sections of your site — choose exactly which methods run when a 404 URL falls within a URL pattern you define.}</p>
4
5 <p><strong>{Example 1:}</strong> {Your store lives at /products/. Spelling correction works great on blog posts, but on a product section you want only exact slug matching and URL fixing — fuzzy spelling suggestions might point to the wrong product. Create a profile with the URL pattern /products/* and check only "Slug Matching" and "URL Fix".}</p>
6
7 <p><strong>{Example 2:}</strong> {You have a documentation archive at /docs/ that you recently restructured. The content is too technical for spelling suggestions to be useful, so you enable only the Archive Fallback engine there.}</p>
8
9 <p><strong>{How profiles are applied:}</strong></p>
10 <ul style="list-style: disc; margin-left: 1.5em;">
11 <li>{Each profile has a URL pattern (e.g. /products/*) that is tested against the incoming 404 URL.}</li>
12 <li>{Profiles are checked in priority order — lower number means checked first.}</li>
13 <li>{The first profile whose URL pattern matches the 404 URL wins. Only the engines you selected in that profile will run.}</li>
14 <li>{If none of your profiles match the 404 URL, the default behavior applies: all engines run.}</li>
15 </ul>
16
17 <p>{Most sites do not need Engine Profiles. They are for advanced scenarios where one section of your site needs different suggestion logic than the rest.}</p>
18
19 <div id="abj404-engine-profiles-list-wrap">
20 <table id="abj404-engine-profiles-table" class="widefat striped" style="margin-bottom: 12px;">
21 <thead>
22 <tr>
23 <th>{Name}</th>
24 <th>{URL Pattern}</th>
25 <th>{Regex}</th>
26 <th>{Engines}</th>
27 <th>{Priority}</th>
28 <th>{Active}</th>
29 <th>{Actions}</th>
30 </tr>
31 </thead>
32 <tbody id="abj404-engine-profiles-tbody">
33 <tr id="abj404-engine-profiles-empty-row">
34 <td colspan="7">{No engine profiles defined.}</td>
35 </tr>
36 </tbody>
37 </table>
38 </div>
39
40 <button type="button" id="abj404-add-engine-profile-btn" class="button button-primary">
41 {Add Engine Profile}
42 </button>
43
44 <div id="abj404-engine-profile-form-wrap" style="display:none; margin-top: 12px; padding: 12px; border: 1px solid #c3c4c7; background: #f9f9f9;">
45 <h4 id="abj404-engine-profile-form-title">{Add Engine Profile}</h4>
46
47 <input type="hidden" id="abj404-profile-id" value="0">
48
49 <table class="form-table">
50 <tr>
51 <th scope="row"><label for="abj404-profile-name">{Name}:</label></th>
52 <td><input type="text" id="abj404-profile-name" class="regular-text" placeholder="{e.g. Products section}"></td>
53 </tr>
54 <tr>
55 <th scope="row"><label for="abj404-profile-pattern">{URL Pattern}:</label></th>
56 <td>
57 <input type="text" id="abj404-profile-pattern" class="regular-text" placeholder="{e.g. /products/* or ^/products/}">
58 <p class="description">{Use * as wildcard for simple patterns. Check &quot;Regex&quot; for full regex patterns.}</p>
59 </td>
60 </tr>
61 <tr>
62 <th scope="row"><label for="abj404-profile-is-regex">{Regex}:</label></th>
63 <td>
64 <input type="checkbox" id="abj404-profile-is-regex" value="1">
65 <label for="abj404-profile-is-regex">{Pattern is a regular expression}</label>
66 </td>
67 </tr>
68 <tr>
69 <th scope="row">{Enabled Engines}:</th>
70 <td id="abj404-profile-engines-checkboxes">
71 <p class="description">{Select which engines should run for URLs matching this profile. Leave all unchecked to run all engines.}</p>
72 <label><input type="checkbox" class="abj404-engine-cb" value="ABJ_404_Solution_SlugMatchingEngine"> {Slug Matching}</label><br>
73 <label><input type="checkbox" class="abj404-engine-cb" value="ABJ_404_Solution_SpellingMatchingEngine"> {Spelling Matching}</label><br>
74 <label><input type="checkbox" class="abj404-engine-cb" value="ABJ_404_Solution_TitleMatchingEngine"> {Title Matching}</label><br>
75 <label><input type="checkbox" class="abj404-engine-cb" value="ABJ_404_Solution_ContentMatchingEngine"> {Content Matching}</label><br>
76 <label><input type="checkbox" class="abj404-engine-cb" value="ABJ_404_Solution_CategoryTagMatchingEngine"> {Category/Tag Matching}</label><br>
77 <label><input type="checkbox" class="abj404-engine-cb" value="ABJ_404_Solution_UrlFixEngine"> {URL Fix}</label><br>
78 <label><input type="checkbox" class="abj404-engine-cb" value="ABJ_404_Solution_ArchiveFallbackEngine"> {Archive Fallback}</label><br>
79 <label><input type="checkbox" class="abj404-engine-cb" value="ABJ_404_Solution_WordPressUrlGuessEngine"> {WordPress URL Guess Fallback}</label>
80 </td>
81 </tr>
82 <tr>
83 <th scope="row"><label for="abj404-profile-priority">{Priority}:</label></th>
84 <td>
85 <input type="number" id="abj404-profile-priority" value="0" min="0" max="9999" style="width: 70px;">
86 <p class="description">{Lower number = higher priority. First matching profile wins.}</p>
87 </td>
88 </tr>
89 <tr>
90 <th scope="row"><label for="abj404-profile-status">{Active}:</label></th>
91 <td>
92 <input type="checkbox" id="abj404-profile-status" value="1" checked>
93 <label for="abj404-profile-status">{Profile is active}</label>
94 </td>
95 </tr>
96 </table>
97
98 <button type="button" id="abj404-save-engine-profile-btn" class="button button-primary">{Save Profile}</button>
99 <button type="button" id="abj404-cancel-engine-profile-btn" class="button">{Cancel}</button>
100 <span id="abj404-engine-profile-save-msg" style="display:none; margin-left: 8px;"></span>
101 </div>
102
103 </div><!-- end abj404-engine-profiles-section -->
104