arypneta
Forum Replies Created
-
Okay, thanks for all your help and advice!
Okay, thanks for all these details. Can you tell me what would make TSF output noindex if it isn’t set on the page already? Looking at the HTML, above the TSF code, robots is set as index and follow. And then the TSF code sets noindex (which overwrites the index setting of course).
I understand that a custom post type would be better for everything to just work from an SEO standpoint, but the issue is that we want this site to automatically populate from a custom post type at another site. We are entering the same data in a custom post type on another site using WordPress’ CMS and we don’t want to have to duplicate the work on another site.
Thanks for the snippet about disabling TSF for a particular query. That might be the best approach and we can manually set everything using wp_head (which has the added benefit of being more stable if we ever switched to a different SEO plugin, which isn’t likely of course, but you never know)
Thanks for your help!
It’s a little convoluted, but basically we have our main website where we have a custom post type called Books (“b”). We use that to enter books from authors associated with our organization as well as ones we publish ourselves.
We have a separate website for our actual publishing entity and the purpose of the rewrite rules is to basically pull the books data from the main site into books page on the publisher site for just the books that are published by us (we use a custom taxonomy to target them). That way, we only have to enter the data once and it will automatically sync. We have an API set up and use a shortcode to pull all the data from the API and display it.
Obviously, since we use a shortcode, I’m assuming that’s the reason there is no content or image, etc. in <head>. So, I’ve hooked into the SEO framework to add the description and image and title.
Here’s the relevant rewrite rule. Basically, looks for any page that is siteurl.org/b and gets whatever is after the b and uses that as the slug to query the api. So siteurl.org/b/test-book would look for a book post type with slug test-book on our main site.
add_rewrite_rule('(b)/([^/]+)/?$', 'index.php?pressbook=$matches[2]', 'top');I’ve anonymized the debug output, but here it is with TSF functions:
<!-- The SEO Framework by Sybre Waaijer --> <meta name="robots" content="noindex,max-snippet:-1,max-image-preview:large,max-video-preview:-1" /> <meta name="description" content="This is definitely a test book. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua." /> <meta property="og:type" content="website" /> <meta property="og:locale" content="en_US" /> <meta property="og:site_name" content="Test Press Site" /> <meta property="og:title" content="Test Book" /> <meta property="og:description" content="This is definitely a test book. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam…" /> <meta property="og:image" content="https://siteurl.org/m/2024/06/Test-image-830x1000.png" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="Test Book" /> <meta name="twitter:description" content="This is definitely a test book. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam…" /> <meta name="twitter:image" content="https://siteurl.org/m/2024/06/Test-image-830x1000.png" /> <script type="application/ld+json">{"@context":"https://schema.org","@graph": [{"@type":"WebSite","@id":"https://siteurl.org/press/#/schema/WebSite","url":"https://siteurl.org/press/","name":"Test Press Site","inLanguage":"en-US","potentialAction": {"@type":"SearchAction","target": {"@type":"EntryPoint","urlTemplate":"https://siteurl.org/press/search/{search_term_string}/"},"query-input":"required name=search_term_string"},"publisher": {"@type":"Organization","@id":"https://siteurl.org/press/#/schema/Organization","name":"Test Press Site","url":"https://siteurl.org/press/","logo":"https://siteurl.org/m/2024/06/Test-image-830x1000.png"}},{"@type":"WebPage","name":"Test Book","description":"This is definitely a test book. Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.","inLanguage":"en-US","isPartOf": {"@id": "https://siteurl.org/press/#/schema/WebSite"}}]}</script> <link rel="canonical" href="https://siteurl.org/press/b/test-book/" /> <meta property="og:url" content="https://siteurl.org/press/b/test-book/" /> <!-- / The SEO Framework by Sybre Waaijer | 4.76ms meta | 1.35ms boot --> WordPress Query at Meta Generation Generated in: 0.00051 seconds cache_version => (string) 'yup' has_assigned_page_on_front => (boolean) true has_page_on_front => (boolean) true page => (integer) 1 paged => (integer) 1 query_supports_seo => (boolean) true admin_post_type => (string) '' current_post_type => (boolean) false current_taxonomy => (string) '' get_post_type => (boolean) false get_post_type_real_id => (boolean) false has_blog_page => (boolean) false is_404 => (boolean) false is_admin => (boolean) false is_archive => (boolean) false is_attachment => (boolean) false is_author => (boolean) false is_blog => (boolean) false is_blog_as_page => (boolean) false is_category => (boolean) false is_customize_preview => (boolean) false is_date => (boolean) false is_day => (boolean) false is_feed => (boolean) false is_month => (boolean) false is_multipage => (boolean) false is_page => (boolean) false is_post_edit => (boolean) false is_post_type_archive => (boolean) false is_post_type_archive_supported => (boolean) false is_post_type_supported => (boolean) false is_preview => (boolean) false is_product => (boolean) false is_protected => (boolean) false is_query_exploited => (boolean) false is_real_front_page => (boolean) false is_robots => (boolean) false is_search => (boolean) false is_seo_settings_page => (boolean) false is_shop => (boolean) false is_single => (boolean) false is_singular => (boolean) false is_singular_archive => (boolean) false is_static_front_page => (boolean) false is_tag => (boolean) false is_tax => (boolean) false is_taxonomy_disabled => (boolean) false is_taxonomy_supported => (boolean) false is_term_edit => (boolean) false is_term_meta_capable => (boolean) false is_wp_lists_edit => (boolean) false is_year => (boolean) false numpages => (integer) 0 page_id => (integer) 0 wp_doing_ajax => (boolean) false wp_doing_cron => (boolean) false wp_is_rest => (boolean) false Current WordPress Query Generated in: 0.00025 seconds cache_version => (string) 'nope' has_assigned_page_on_front => (boolean) true has_page_on_front => (boolean) true page => (integer) 1 paged => (integer) 1 query_supports_seo => (boolean) true admin_post_type => (string) '' current_post_type => (boolean) false current_taxonomy => (string) '' get_post_type => (boolean) false get_post_type_real_id => (boolean) false has_blog_page => (boolean) false is_404 => (boolean) false is_admin => (boolean) false is_archive => (boolean) false is_attachment => (boolean) false is_author => (boolean) false is_blog => (boolean) false is_blog_as_page => (boolean) false is_category => (boolean) false is_customize_preview => (boolean) false is_date => (boolean) false is_day => (boolean) false is_feed => (boolean) false is_month => (boolean) false is_multipage => (boolean) false is_page => (boolean) false is_post_edit => (boolean) false is_post_type_archive => (boolean) false is_post_type_archive_supported => (boolean) false is_post_type_supported => (boolean) false is_preview => (boolean) false is_product => (boolean) false is_protected => (boolean) false is_query_exploited => (boolean) false is_real_front_page => (boolean) false is_robots => (boolean) false is_search => (boolean) false is_seo_settings_page => (boolean) false is_shop => (boolean) false is_single => (boolean) false is_singular => (boolean) false is_singular_archive => (boolean) false is_static_front_page => (boolean) false is_tag => (boolean) false is_tax => (boolean) false is_taxonomy_disabled => (boolean) false is_taxonomy_supported => (boolean) false is_term_edit => (boolean) false is_term_meta_capable => (boolean) false is_wp_lists_edit => (boolean) false is_year => (boolean) false numpages => (integer) 0 page_id => (integer) 0 wp_doing_ajax => (boolean) false wp_doing_cron => (boolean) false wp_is_rest => (boolean) falseAnd here it is with no TSF functions added:
<!-- The SEO Framework by Sybre Waaijer --> <meta name="robots" content="noindex,max-snippet:-1,max-image-preview:large,max-video-preview:-1" /> <meta property="og:type" content="website" /> <meta property="og:locale" content="en_US" /> <meta property="og:site_name" content="Test Press Site" /> <meta property="og:title" content="Untitled" /> <meta name="twitter:card" content="summary_large_image" /> <meta name="twitter:title" content="Untitled" /> <script type="application/ld+json">{"@context": "https://schema.org","@graph": [{"@type": "WebSite","@id": "https://siteurl.org/press/#/schema/WebSite","url": "https://siteurl.org/press/","name": "Test Press Site","inLanguage": "en-US","potentialAction": {"@type": "SearchAction","target": {"@type": "EntryPoint","urlTemplate": "https://siteurl.org/press/search/{search_term_string}/"},"query-input": "required name=search_term_string"},"publisher": {"@type": "Organization","@id": "https://siteurl.org/press/#/schema/Organization","name": "Test Press Site","url": "https://siteurl.org/press/"}},{"@type": "WebPage","name": "Untitled - Test Press Site","inLanguage": "en-US","isPartOf": {"@id": "https://siteurl.org/press/#/schema/WebSite"}}]}</script> <!-- / The SEO Framework by Sybre Waaijer | 1.16ms meta | 1.69ms boot --> WordPress Query at Meta Generation Generated in: 0.00039 seconds cache_version => (string) 'yup' has_assigned_page_on_front => (boolean) true has_page_on_front => (boolean) true page => (integer) 1 paged => (integer) 1 query_supports_seo => (boolean) true admin_post_type => (string) '' current_post_type => (boolean) false current_taxonomy => (string) '' get_post_type => (boolean) false get_post_type_real_id => (boolean) false has_blog_page => (boolean) false is_404 => (boolean) false is_admin => (boolean) false is_archive => (boolean) false is_attachment => (boolean) false is_author => (boolean) false is_blog => (boolean) false is_blog_as_page => (boolean) false is_category => (boolean) false is_customize_preview => (boolean) false is_date => (boolean) false is_day => (boolean) false is_feed => (boolean) false is_month => (boolean) false is_multipage => (boolean) false is_page => (boolean) false is_post_edit => (boolean) false is_post_type_archive => (boolean) false is_post_type_archive_supported => (boolean) false is_post_type_supported => (boolean) false is_preview => (boolean) false is_product => (boolean) false is_protected => (boolean) false is_query_exploited => (boolean) false is_real_front_page => (boolean) false is_robots => (boolean) false is_search => (boolean) false is_seo_settings_page => (boolean) false is_shop => (boolean) false is_single => (boolean) false is_singular => (boolean) false is_singular_archive => (boolean) false is_static_front_page => (boolean) false is_tag => (boolean) false is_tax => (boolean) false is_taxonomy_disabled => (boolean) false is_taxonomy_supported => (boolean) false is_term_edit => (boolean) false is_term_meta_capable => (boolean) false is_wp_lists_edit => (boolean) false is_year => (boolean) false numpages => (integer) 0 page_id => (integer) 0 wp_doing_ajax => (boolean) false wp_doing_cron => (boolean) false wp_is_rest => (boolean) false Current WordPress Query Generated in: 0.00023 seconds cache_version => (string) 'nope' has_assigned_page_on_front => (boolean) true has_page_on_front => (boolean) true page => (integer) 1 paged => (integer) 1 query_supports_seo => (boolean) true admin_post_type => (string) '' current_post_type => (boolean) false current_taxonomy => (string) '' get_post_type => (boolean) false get_post_type_real_id => (boolean) false has_blog_page => (boolean) false is_404 => (boolean) false is_admin => (boolean) false is_archive => (boolean) false is_attachment => (boolean) false is_author => (boolean) false is_blog => (boolean) false is_blog_as_page => (boolean) false is_category => (boolean) false is_customize_preview => (boolean) false is_date => (boolean) false is_day => (boolean) false is_feed => (boolean) false is_month => (boolean) false is_multipage => (boolean) false is_page => (boolean) false is_post_edit => (boolean) false is_post_type_archive => (boolean) false is_post_type_archive_supported => (boolean) false is_post_type_supported => (boolean) false is_preview => (boolean) false is_product => (boolean) false is_protected => (boolean) false is_query_exploited => (boolean) false is_real_front_page => (boolean) false is_robots => (boolean) false is_search => (boolean) false is_seo_settings_page => (boolean) false is_shop => (boolean) false is_single => (boolean) false is_singular => (boolean) false is_singular_archive => (boolean) false is_static_front_page => (boolean) false is_tag => (boolean) false is_tax => (boolean) false is_taxonomy_disabled => (boolean) false is_taxonomy_supported => (boolean) false is_term_edit => (boolean) false is_term_meta_capable => (boolean) false is_wp_lists_edit => (boolean) false is_year => (boolean) false numpages => (integer) 0 page_id => (integer) 0 wp_doing_ajax => (boolean) false wp_doing_cron => (boolean) false wp_is_rest => (boolean) false@wpneily You may have figured this out by now, but we had this issue too and I believe what fixed it is setting the slider height to “Fixed Height” instead of “Adaptive Height”. I’m guessing it has to load them all for adaptive height to check the heights and that leads to the issue?
Forum: Plugins
In reply to: [Seriously Simple Podcasting] Ability to Duplicate Podcasts?We were using Duplicate & Merge Posts (which we’ve been using for a while, but I guess it’s no longer on the WordPress plugins listing).
I couldn’t find Post Publicator by searching, but just got “Duplicate Posts”: https://wordpress.org/plugins/copy-delete-posts/ and it appears to be working! On the free version, it doesn’t copy over any post meta, so the audio file isn’t filled, so when I select a new audio file it uploads with a new id).
So, thanks for the suggestion! You might also consider updating the Castos documentation as it makes it sound like all duplicate posts plugins will not work (which I guess isn’t true): https://support.castos.com/article/154-i-dont-see-my-episode-in-the-castos-dashboard. Even updating it to say that “some duplicate post plugins won’t work” would help.
Forum: Plugins
In reply to: [Seriously Simple Podcasting] Ability to Duplicate Podcasts?That would be ideal, but unfortunately the new draft still appears to be connected to the previous podcast. Also, if it does work, why does the Castos support website say not to use a duplicate posts plugin? It says “Always create new podcasts by going to Podcast Add New Episode.”
Here’s a little more explanation on the behavior we are seeing. Say we have Podcast A with the mp3 file uploaded to Castos. Castos gives it a URL, something along the lines of https://episodes.castos.com/id/234523/random-letters-etc.mp3. Podcast A shows up in the Castos dashboard as an episode.
If we duplicate the podcast in WordPress, it creates a new draft. Let’s call that Podcast B. If we select a new podcast file using the select podcast button, it uploads it to Castos, and the link ends up like this https://episodes.castos.com/id/234523/different-random-letters-etc.mp3. Note that the id is still the same “234523”.
Almost immediately Podcast B is what shows in the Castos dashboard, and Podcast A doesn’t show up there anymore.
Both urls still work temporarily (https://episodes.castos.com/id/234523/random-letters-etc.mp3 and https://episodes.castos.com/id/234523/different-random-letters-etc.mp3) but after a certain period of time the link for Podcast A will stop working and give a File not found page while Podcast B will continue to work.
I didn’t think of this until now, but maybe clearing the audio file link and saving the draft and then uploading the new file would work? Would that trigger it to give it a new Castos Id?
Forum: Plugins
In reply to: [Publish To Apple News] Apple News API: INVALID_DOCUMENT@aolea, No problem, glad to help! I discovered that under the Apple News sidebar tab, there is an option to see all Articles.
I did a filter for articles not published since January 22 (we had like 26) and was able to publish in bulk (I did two batches, but it worked fine). So, you might be able to do that once you’ve reverted the version.
Forum: Plugins
In reply to: [Publish To Apple News] Apple News API: INVALID_DOCUMENTI posted this on the other topic mentioning this issue as well (https://wordpress.org/support/topic/recent-apple-news-api-invalid_document-error), but posting it here as well for visibility.
We were experiencing this issue too. Reverting to 2.4.3 seems to have temporarily solved the issue. Looks like they are actively working on a fix at GitHub: https://github.com/alleyinteractive/apple-news/issues/1048
If you want to revert, you can download 2.4.3 (or a previous version) from this page: https://wordpress.org/plugins/publish-to-apple-news/advanced/
Forum: Plugins
In reply to: [Publish To Apple News] Apple News API: INVALID_DOCUMENTWe were experiencing this issue too. Reverting to 2.4.3 seems to have temporarily solved the issue. Looks like they are actively working on a fix at GitHub: https://github.com/alleyinteractive/apple-news/issues/1048
If you want to revert, you can download 2.4.3 (or a previous version) from this page: https://wordpress.org/plugins/publish-to-apple-news/advanced/
Forum: Plugins
In reply to: [Publish To Apple News] Recent Apple News API Invalid_Document ErrorWe were experiencing this issue too. Reverting to 2.4.3 seems to have temporarily solved the issue. Looks like they are actively working on a fix at GitHub: https://github.com/alleyinteractive/apple-news/issues/1048
If you want to revert, you can download 2.4.3 (or a previous version) from this page: https://wordpress.org/plugins/publish-to-apple-news/advanced/
Forum: Plugins
In reply to: [Seriously Simple Stats] Error Log MessagesOkay, great – thanks!
Forum: Plugins
In reply to: [Redirection] Weird error log messagesSo, I think I have solved the issue. There was actually an error, but it didn’t show fully in our production error logs. I was able to see it when I spun up a local development environment:
WordPress database error Unknown error 1054 for query INSERT INTO
wp_redirection_logs(url,domain,ip,created,agent,referrer,request_method,http_code,redirection_id,sent_to,redirect_by) VALUES …. made by require(‘wp-blog-header.php’), require_once(‘wp-load.php’), require_once(‘wp-config.php’), require_once(‘wp-settings.php’), do_action(‘init’), WP_Hook->do_action, WP_Hook->apply_filters, WordPress_Module->init, Red_Item->get_match, do_action(‘redirection_visit’), WP_Hook->do_action, WP_Hook->apply_filters, WordPress_Module->redirection_visit, Red_Item->visit, Red_Redirect_Log::createAfter looking at the table structure between sites, it looks like the site with issues was missing the “request_data” and “redirect_by” columns, which was causing the error. I assume that may be because those columns were added later after we installed Redirection and some migration step was missed.
Deactivating and re-activating the plugin didn’t automatically add them, so I took a look at 420.php where the database setup was and copied the appropriate SQL queries to create those two columns.
The messages seem to have stopped and we are seeing data in the log now (which we weren’t before, but I didn’t realize).
Forum: Plugins
In reply to: [Redirection] Weird error log messagesIt’s not an actual error per se, but more of a log message. The bolded text below is what shows up in the error log:
*/ made by require(‘wp-blog-header.php’), require_once(‘wp-load.php’), require_once(‘wp-config.php’), require_once(‘wp-settings.php’), do_action(‘init’), WP_Hook->do_action, WP_Hook->apply_filters, WordPress_Module->init, Red_Item->get_match, do_action(‘redirection_visit’), WP_Hook->do_action, WP_Hook->apply_filters, WordPress_Module->redirection_visit, Red_Item->visit, Red_Redirect_Log::create
It seems to log a message each time a redirect is performed, but this isn’t happening on other other sites just the one.
Is there anything in your plugin that would login informational messages like this? Everything seems to be working, the messages just clog up the error log. If you don’t think you have anything in your code that would log this message, perhaps it’s a conflict with another plugin that I can investigate further.
Forum: Plugins
In reply to: [The SEO Framework – Fast, Automated, Effortless.] Error Log MessagesOkay, great – thanks for the update!
Forum: Plugins
In reply to: [Gutenberg Block Editor Toolkit – EditorsKit] Unable to create/edit postsOh and I am seeing this error in our logs, which may be related (or might just be because I had to rollback to 1.40.1)
PHP Warning: Attempt to read property “post_type” on null in wp-content/plugins/block-options/includes/addons/styles-manager/gutenberghub-styles-manager.php on line 33