- For everyone:
- Changed:
- Structured Data has output been revisited, so:
- Sitename + Sitelinks Searchbox:
- The output of Sitename has been merged into Sitelinks Searchbox.
- They’re marked as
@type
“Website”.
- They’re marked as
- The options still work as intended:
- When both options are activated, the merged script emerges.
- When only Sitelinks Searchbox is activated, only Sitelinks Searchbox will be output.
- The previous applies to Sitename too.
- This is now only output on the homepage.
- When breadcrumbs are found, the Sitename script will no longer be output.
- The output of Sitename has been merged into Sitelinks Searchbox.
- Sitelinks Searchbox:
- The Search Link now is
example.com/search/{query}
instead ofexample.com/?s={query}
. Where supported. - The Sitename output has been merged into this one.
- The Search Link now is
- Breadcrumbs:
- No more database calls are initiated for term existence checks.
- This means the generation is much faster on posts.
- Instead, it now uses WordPress’ term cache to validate.
- No more database calls are initiated for term object fetching.
- This means the generation is much faster on posts and pages.
- Instead, it now uses WordPress’ term cache to fetch.
- No more database calls are initiated for term existence checks.
- Because some of the above mentioned changes affect the output, the Schema transient cache has been invalidated.
- All output is now calculated once, rather than in multitude of items. This increases maintainabilty.
- Sitename + Sitelinks Searchbox:
- Sitemap explanation URLs now open in a new window.
- Automated Image Cropper now starts cropping when images exceed 4K (4096px/4096px), rather than 1500px/1500px.
- Social Image uploader now accepts image sizes up to 4K, before forcing a crop.
- This is according to Twitter Card guidelines.
- Removed Open Graph and Canonical URL output on 404 pages.
- Title, Robots and Webmaster Verification output are to stay.
- Robots.txt sitemap location output now isn’t forced anymore when TSF’s sitemap is used.
- This means the option now always works as intended, and doesn’t predict anymore (expectations).
- Structured Data has output been revisited, so:
- Improved:
- The schema metabox now renders faster.
- The Facebook Social Settings placeholder URLs are now HTTPS, rather than HTTP.
- LinkedIn profile title now no longer indicates that it must be an ID.
- The sitemap stylesheet no longer outputs on domain mismatch, so you won’t see a blank page anymore.
- This is a mitigated browser security feature.
- This does not affect security nor validity of the sitemap.
- Improved SEO input rendering performance, by:
- Adding rendering hinting to the character counters for Gecko, Webkit and Blink based browsers.
- Reducing description character counter calculation CPU overhead.
- Removing expectation of autocompletion on title input fields.
- Fixed:
- When the home page is a blog, these fixes have been implemented:
- The 404 title now works.
- Shortlink output now works.
- Various fixes across non-taxonomial archives, i.e. ones that you can’t edit, have noindex set by default, and have no ID assigned:
- These no longer share the same cache key as the home page.
- This fixes numerous object caching issues.
- These no longer use the home page Open Graph image.
- These no longer use the auto-generated description meant for the home page.
- These now listen to the archive option for
rel=next/prev
links, instead of the home page option.
- These no longer share the same cache key as the home page.
- Windows Touch now works on the SEO Bar, as was always intended (MT race condition).
- Sitemap PNG logos aren’t blurry anymore on Webkit/Blink based browsers.
- When touching an active SEO Bar or the tooltip thereof, the SEO Bar Tooltip no longer disappears (regression).
- A few notifications now work again:
- Reset settings notification.
- New settings notification.
- Settings error notification.
- The Canonical URL is now correct on Search Pages.
- Dismissible notices now get correctly removed from the DOM when dismissed.
twitter:creator
is no longer omitted and overshadowed by thetwitter:site:id
meta tag when both Twitter Site and Creator options are filled in.
- When the home page is a blog, these fixes have been implemented:
- Changed:
- For developers:
- Added:
- Links outputted through Markdown can now open in a new window when marked external.
- An JSON-LD generator. Taken from The SEO Framework – Extension Manager and reworked to support PHP 5.3.
- See method
build_json_data()
. It builds the input data. - See method
receive_json_data()
. It recieves the built data.
- See method
- Method
get_schema_image()
. A Schema.org Google-guideline aware image fetcher with caching powers.- It basically bypasses filters and fallbacks to prevent globally repeated image URLs.
- Reduced image replication use is fine. But, don’t overdo it; it’s at most bland.
- It works for both singular as term items. However, Terms don’t have image uploaders yet, so that returns empty for now.
- Improved:
- The sitemap now outputs less data, because CRLF (
\r\n
) has been exchanged for LF (\n
) only.- This removes XML
view-source:
readability support for very old browsers (IE8 or lower).
- This removes XML
- Function
\The_SEO_Framework\_wpmudev_domainmap_get_url()
now returns an array with two empty keys if no settings have been found. Instead of an empty string. - Method
get_latest_post_id()
has been rewritten; it’s now family friendly.- It no longer uses object caching.
- It now uses
WP_Query
, rather thanwpdb
.
- Method
admin_redirect()
now only acceptshttp
andhttps
protocols.- Rather than all of
wp_allowed_protocols()
. This improves performance, not notably.
- Rather than all of
- The sitemap now outputs less data, because CRLF (
- Fixed:
- Method
is_front_page_by_id()
no longer returns true on archives when home page is a blog. This fixes numerous issues listed in the “For everyone:” detailed log. - Robots.txt output can now better detect for public when the
blog_public
option has somehow been cast to integer. - Method
admin_redirect()
now processes query arguments again (regression in 2.9.2).- The Extension Manager’s URL debugging was depending on this. Only affected when using
WP_DEBUG
.
- The Extension Manager’s URL debugging was depending on this. Only affected when using
- Method
- Deprecated:
- A multitude of Schema generation methods, use
build_json_data()
andreceive_json_data()
instead.- Get methods:
- Method
schema_context()
, without an alternative. - Method
schema_type()
, without an alternative. - Method
schema_home_url()
, without an alternative. - Method
schema_blog_name()
, without an alternative. - Method
schema_breadcrumblist()
, without an alternative. - Method
schema_listitem()
, without an alternative. - Method
schema_image()
, without an alternative. - Method
make_breadcrumb()
, without an alternative. - Method
ld_json_breadcrumbs()
, useget_ld_json_breadcrumbs()
. - Method
ld_json_breadcrumbs_post()
, useget_ld_json_breadcrumbs_post()
. - Method
ld_json_breadcrumbs_page()
, useget_ld_json_breadcrumbs_page()
.
- Method
- Build methods:
- Method
ld_json_search()
, without an alternative. - Method
ld_json_name()
, without an alternative. - Method
ld_json_knowledge()
, useget_ld_json_links()
. - Method
ld_json_breadcrumb_first()
, without an alternative. - Method
ld_json_breadcrumb_last()
, without an alternative. - Method
ld_json_knowledge()
, without an alternative.
- Method
- Get methods:
- A multitude of Schema generation methods, use
- Filter notes:
- Added:
(array) the_seo_framework_receive_json_data
, for altering passed JSON$data
(arg 1) by$key
(arg 2).(string) the_seo_framework_updates_cache
, for altering the updates cache option name. For future use.
- Added:
- Constant notes:
- Added:
(string) THE_SEO_FRAMEWORK_UPDATES_CACHE
, maintains updates cache options. For future use.
- Added:
- Other:
- Cleaned up code, i.e. improved documentation and writing style.
- Added: