Some beginners to the CyberSEO Pro plugin can be somewhat confused when setting up automatic content import, as they encounter two different options for configuring this process. On the General Settings page, they have to select the RSS pull mode, and in the settings for each specific feed, there exists its own option for Check this feed for updates every […] minutes. Let’s break down each of these individually.
RSS pull mode
This is a drop-down menu on the CyberSEO Pro General Settings page that lets you choose between two modes to launch the check of all your feeds for new posts. You can select one of the RSS pull modes:
If you choose the “auto” mode, the feed procession will be initiated using WordPress’s built-in scheduler (pseudo-cron), and you’ll need to specify how often this should happen. You’ll need to specify a time interval in minutes to set the regularity for checking feeds for updates.
There’s an important detail to consider here. A PHP script isn’t a resident program that is continuously running in your server’s memory, like a Windows application running in the background until you close it completely. A PHP script is executed once at each launch, runs to completion, and then stops working until the next launch. When it comes to specific scripts like WordPress plugins, they are triggered the moment someone or something accesses your website. For example, when a visitor opens your site in a browser or when a search engine spider crawls your pages for indexing.
Therefore, the WordPress scheduler only triggers when your site is accessed from the outside. If you set its trigger period to, say, 60 minutes, it doesn’t necessarily mean it will trigger every hour. If no one visited your site (be it a human or bot) for several hours, it might not trigger at all during that time, even though you expect it to trigger exactly every hour. Keep in mind that the cron trigger period you set is desired but can’t guarantee adherence to your schedule. Thus, the reliability of the “auto” mode is far from perfect.
by cron or manually
When you select the “by cron or manually” mode, the feed procession will only occur if a specific URL of your site is accessed. You will see this address under the “RSS pull mode” drop-down menu, and it will look something like this:
/usr/bin/curl --silent https://yoursite.com/?pull-feeds=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
The left part of the line, “/usr/bin/curl –silent,” is a command for cron. You can read more about configuring cron in the article “How to set up cron for CyberSEO Pro“. The right part of the line contains the actual URL link that must be opened manually in your browser or by an automatic external process, like a server cron. The moment this link is accessed, the processing of your feeds will be initiated, aiming to add new content from them to your site.
Please pay attention to the fact that the link includes a unique alphanumeric string after “?pull-feeds=”. This is your secret code, and you must keep it confidential. After all, you wouldn’t want a malicious individual to initiate the process of checking your feeds for updates at their own discretion, would you?
Check for updates every […] minutes
Now, let’s take a closer look at the Check this feed for updates every […] minutes option, located on the settings page of each feed. This option allows you to set a unique time interval for each feed, after which it will be checked for new content. If you want to pause the feed so it’s not automatically processed, simply set its refresh period to zero.
During the general feed check, triggered by cron or the WordPress scheduler, when the time comes for the checked feed to be imported, it will be processed and the new content will be imported to your site if it is available. If the specific check time for the feed has not yet arrived, it will be skipped until the next check. Therefore, if the general check is set to run every 10 minutes, but a particular feed is set to be pulled once a day, it will be pulled exactly once a day, not every 10 minutes, which might be your cron setting.
As you can understand, this system allows you to flexibly set unique import or content generation periods for each feed. Please note that the plugin checks all your feeds for update times all together as one list, and this happens every time the checking process is triggered by cron or the WordPress scheduler.
Note that the PHP script creates its process in the server’s memory every time you open the URL
https://yoursite.com/?pull-feeds=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx in your browser. If you open this link in your browser and refresh the page five times (e.g., by pressing F5), five instances of the script will be launched simultaneously in the server’s memory, processing the same list of feeds.
This is exactly the situation you should avoid. Make sure that the link is pulled by cron only at sufficient time intervals, allowing the launched script to fully execute and complete. Otherwise, duplicate posts may appear on your site because two independent processes running the same script on your server know nothing about each other. They process the same feed list, adding the same posts simultaneously. To safely prevent this scenario, make sure that the Cron or WordPress scheduler period you’ve set always overlaps at least twice the maximum PHP script execution time on your server. You can also adjust this value in the Max execution time field on the CyberSEO Pro General Settings page.
The CyberSEO Pro plugin provides robust and flexible options for managing and scheduling your feeds, giving you precise control over content updates and imports. Understanding and using these settings can greatly improve the efficiency and accuracy of your content management. However, careful consideration must be given to the configuration to avoid potential pitfalls such as duplicate posts or server memory overload. By following the guidelines above and customizing the settings to meet your specific needs, you can get the most out of this powerful tool and ensure that your site stays fresh and relevant with timely content. If you have any questions or need assistance with configuration, please refer to the documentation or contact support for personal assistance.