Changelog
Release date:
- July 3rd, 2017
Announcement: Local SEO Beta
- Local SEO is a premium extension, and it’s almost ready for testing.
- As we do not want to spam your WordPress dashboard, I’ve created a new Twitter account for future announcements.
- Feel free to follow us to receive the latest updates. As we’re planning a test-run prior to release, further details for beta-access will also follow in a tweet.
Local SEO technology teaser video
Summarized:
- Social images can now scale up to 4K resolution. This means (manual and automated) forced cropping no longer initiates at 1500px but at 4096px.
- A new option has been added for every taxonomical post type in the Visibility tab. It allows you to prevent the annotated pages from showing up in Archives.
- Structured Data output has been revisited. This includes merging of output, removal of misplaced output, and performance improvements.
- When your home page is a blog, pages without an ID (404, search, date archives, etc.) had output and caching issues. These issues have been resolved.
- Several security concerns have also been addressed. Although, none of them could be verified as the coding environment is already well protected.
For everyone: Caching changes:
- Descriptions and Schema.org output transients are no longer enabled by default. Because for most sites, it’s better left disabled.
- This has been done to reduce database calls. Ultimately, the performance benefits of using the transients are use-case specific.
For developers: Schema.org output code changes:
- The Schema.org output code has been rewritten. This improves reliability, performance and extensibility.
- If you’ve extended or altered the Schema.org generation output, you might wish to revisit your coding implementations.
- All affronted methods have been correctly deprecated and tested once more. So, 500 errors shouldn’t occur.
- To be certain, visit the detailed changelog and compare your code.
For high-traffic webmasters and Google Analytics integration plugin authors: About the Search URL change:
- From this update, new canonical URLs will be generated for search queries to comply to the pretty permalink structure.
- WordPress natively supports the /search/{search_term}endpoint; however, Google Analytics does not.
- To enable support, please visit this page for more information.
- I’ve created a plugin that will enhance support for you. You can download it here.
- An extension is planned that will implement Google Analytics for you, complying to those guidelines.
Detailed log
Already the Sun is climbing to noon, and I feel the need of something to strengthen me.
- For everyone:
- Added:
- A new option in the in-post Visibility tab that allows you to exclude the post from being listed in archives.
 
- Changed:
- Structured Data output has 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 maintainability.
 
- Sitename + Sitelinks Searchbox:
- Description transient usage is no longer enabled by default.
- Schema.org transient usage is no longer enabled by default.
- 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 output has 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.
 
- Genesis Theme head Microdata attributes were incomplete with The SEO Framework active; so, we removed its output again.
- Slightly sped up URL generation by excluding extraneous function calls in sanitation by only allowing HTTP and HTTPS protocols.
 
- 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-taxonomical 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/prevlinks, 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:creatoris no longer omitted and overshadowed by the- twitter:site:idmeta tag when both Twitter Site and Creator options are filled in.
- The sitemap now works again on WordPress 4.4 and 4.5. Sorry about that!
 
- When the home page is a blog, these fixes have been implemented:
 
- Added:
- For translators:
- Added:
- “No Archive”:
- Location: List archives.
- It’s a post state, implying that Archive listing has been disabled.
 
- “Archive Settings”
- Location: In-post SEO Box, Visibility bab.
- Option list title.
 
- “Exclude this %s from archive listing”:
- Location: In-post SEO Box, Visibility bab.
- It’s a checkbox option label.
- %s = post type name.
 
- “This excludes this %s from on-site archive pages”:
- Location: In-post SEO Box, Visibility bab.
- It’s the label title, for a11y (accessibility).
- %s = post type name.
 
 
- “No Archive”:
- Updated:
- Translation POT file.
 
- Removed:
- “Local Search Settings”
- Replaced by “Archive Settings”.
 
 
- “Local Search Settings”
 
- Added:
- 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 receives 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.
 
- Method post_type_supports_taxonomies(), determines whether the current or input post type support taxonomical archives.
- New post metadata entry:
- exclude_from_archive.
 
 
- 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 acceptshttpandhttpsprotocols.- 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_publicoption 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 
- The shortlink generation no longer creates a PHP warning on questionable preview queries.
 
- 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.
- (bool) the_seo_framework_overwrite_titles, for disabling The SEO Framework’s Title overwriting.
- (string) the_seo_framework_ogurl_output, for adjusting the Open Graph URL output.
 
 
- 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: