In this minor update, we bring you the most advanced description generation yet. The generator is now context-sensitive, so you can expect the descriptions to be even more natural; a real time-saver!
Oh, we also fixed some bugs, and we’ve implemented some improvements in preparation for version 3.3.0.
Detailed log
> View code changes.
> View closed issues.
For everyone:
- Added:
- Documentation links have been added to the plugin details overview row.
- Auto-generated descriptions no longer use elements of these types for generation:
address, bdo, br, button, canvas, code, fieldset, form, h1, h2, h3, h4, h5, h6, header, hr, input, label, link, meta, nav, noscript, option, pre, samp, script, select, style, svg, table, textarea, var, video
- Auto-generated descriptions now add spaces around elements of these types (they’re considered as blocks) for generation:
article, aside, blockquote, dd, div, dl, dt, figcaption, figure, footer, li, main, ol, p, section, tfoot, ul
- Improved:
- Google can now respond to the
noindex
directive quicker as we’ve removed the canonical URL on these pages.- When
noindex
is set via The SEO Framework, we now remove the autogenerated canonical URL when it points to the current page. - Filtered and custom canonical URLs will still be rendered.
- When
- SEO attack mitigation is now also invoked on a paginated homepage-as-page.
- Google can now respond to the
- Changed:
- The “About” link on the plugin activation page now leads to our “about us” page.
- The links on the plugin activation page are now prepended, instead of appended.
- When trailing slashes are omitted via the permalink settings, the home page URL now gets one regardless if it’s a document root URL.
- This fixes a bug in Google Search Console, where they couldn’t recognize the URL in the sitemap.
- Fixed:
- Titles:
- Author archives no longer use protective title prefixes (like “Private: “, or “Protected: “) from a post with the same ID as the author.
- Accessibility:
- The primary term selector in the Classic Editor now correctly checks the selected primary term button when interacting via a keyboard.
- This bug only affected the interface; internally, the primary term was correctly selected.
- Read this aloud: “Less than BR greater than generated: automatically generated”; Yes, that’s stupid, and it will no longer be enunciated by screen readers.
- Essentially, we’ve cleanly stripped
<br>
and other meta tags from the SEO Bar and Pixel Counter items’ ARIA-labels.
- Essentially, we’ve cleanly stripped
- The primary term selector in the Classic Editor now correctly checks the selected primary term button when interacting via a keyboard.
- URLs:
- When the home page has query parameters attached–like, for example, via WPML, it won’t have a query-breaking slash added any longer.
- When the home page is a page, and when
<!--nextpage-->
is used, the relationship links are now correct on the first page. - When a custom canonical URL is provided, no link relationship URLs will be generated.
- For developers: The link relationship filters still work.
- When pagination occurs on pages with query parameters, the query parameters are forwarded.
- Keep in mind that most plugins don’t support proper pagination with query parameters, like WPML. This is beyond the capabilities of WordPress.
- For WPML, please don’t use the
?lang={langid}
(parameter) setting. Use a the directory or (sub-)domain options instead, they’re superior in behavior. - With WPML, paginated pages’ canonical URL when using the query parameter setting won’t be indexed. We’ve forwarded this issue to their developers.
- For WPML, please don’t use the
- Besides, if you require query parameters for your front-end plugin pages, then you’ve already broken WordPress. I urge to look into the WordPress Rewrite API.
- Keep in mind that most plugins don’t support proper pagination with query parameters, like WPML. This is beyond the capabilities of WordPress.
- Polylang’s home canonical and Open Graph URLs are now correct.
- We did this by whitelisting our files in their plugin; an auto-incompatible implementation.
- We couldn’t fix the sitemap URLs without breaking your site, because Polylang messes with the site URL too.
- The home URL in the sitemap is still and will always be incorrect.
- Other URLs don’t always have a trailing slash, while they should have them.
- No, we’re never going to blindly mix the languages into one sitemap. Here’s the reason.
- Titles:
For translators:
- Added:
- A few sentences have been added, visible on the plugin overview page.
- Changed:
- We’ve changed various instances of “tags”, which should’ve been “meta tags”.
- “Two parts” should’ve been “three parts”; we’ve decided to make it “multiple parts” to future-proof it.
- All instances of “home page” have been changed to “homepage”, to be in line with WordPress’ glossary.
- Removed unnecessary capitalization.
- Various other sentences have been improved.
- Updated:
- Translation POT file.
For developers:
- File changes:
- Added:
../inc/functions/upgrade-suggestion.php
- Removed:
../inc/functions/tsfem-suggestion.php
- Changed:
- Added namespace
The_SEO_Framework\Bootstrap
to:../bootstrap/activation.php
../bootstrap/deactivation.php
../bootstrap/upgrade.php
../bootstrap/activation.php
- Added namespace
- Added:
- Method notes:
- Added:
strip_tags_cs()
, a context-sensitive version ofstrip_tags()
.get_robots_meta()
use_title_protection()
use_title_pagination()
has_custom_canonical_url()
remove_pagination_from_url()
, this used to be protected.
- Changed:
s_excerpt()
now uses the newstrip_tags_cs()
method (with modified arguments), instead of WordPress’wp_strip_all_tags()
.page()
andpaged()
now point to the correct page if the page number doesn’t exist, and they now always return1
on the admin screens to prevent
excessive processing and unpredictable behavior of methods that rely on these.get_singular_canonical_url()
now no longer tries to add pagination, as WordPress does this for us.add_url_pagination()
now considers query arguments with pretty permalinks, and the third parameter is now optional (auto-determine).numpages()
now always returns1
on the admin screens.is_multipage()
now always returnsfalse
on the admin screens.
- Fixed:
get_paged_urls()
now returns the correct singular URLs.- In extent,
get_paged_url()
also works as intended for singular pages. - This was found after noticing an inconsistency with the homepage-as-page versus real pages.
- In extent,
- Added: