TOPchik - an open WordPress plugin for free verification of site positions for search queries, through the Yandex.XML API

    Once upon a time, I decided to write a plugin for quick and free site check in Yandex and Google search results, right from the Wordpress admin panel. The plugin’s task is to give understanding: how the site feels, which pages have lost TOP and need to be improved, which pages do not bring traffic at all, + implement KPI SEO, while saving money (using free Yandex.XML limits and parsing Google search results)

    In this article I’ll describe what has been done, how to use it and your vision for its further development.

    Of course, as a young startup, I decided to write and earn millions on it, but over time, motivation fell, understanding changed, and attention turned to other projects. This plugin has remained in a semi-finished form, but since it’s not been finalized by me for about a year now, I decided to put it inopen access .

    This is how a detailed analysis of the position on the COP looks directly from the article:


    This is the main page with visualization, on it we can see how the site and the dynamics in general feel according to the main indicators:
    • Site Visibility
    • Inquiries in the top 3, 10, 30
    • Positions have improved / worsened

    On this page, I would like to add the ability to click on a specific indicator or day in the graph and get information about the page and search queries that gave the main positive and negative dynamics, in order to understand - yeah, these queries / pages fell out of the index, and here they entered.

    Search queries

    Here, by article, we see all the keywords, we can take a position on a specific request or the document as a whole. There is a dynamic search and the ability to collapse / expand everything.

    Inspection Schedule

    On this tab, it is possible to run a scan manually, set a sheduler who will check the positions at a certain time, also see how many CS (Key phrases) are currently checked, as well as see errors, if any.

    Here it is planned to implement more flexible verification settings: by day of the week, by day of the month, once a month, after Yandex updates, after X hours.

    Connections (API)

    In this case, we fill in the data received from the Yandex.XML service, specify your external IP and domain, which we will look for in the issue. On the contrary, in inactive elements, I tried to determine your external IP and domain automatically, but because I’m not sure if these functions work, as long as I need to duplicate them manually.

    At the top there is a strass link, to go to the settings page, where you can get a token by registering your address.

    Here it is necessary to add the ability to specify ProxyServer`a and make the appropriate setting in yandex-xml.php

    How to setup

    To configure, all that remains to be done is to specify keywords for each article, here you need to add the ability to automatically download CS data from Yandex or Google metrics or the ability to download them manually - in a convenient format.

    At the moment, you can go to the tab with the list of CSs and add them manually using the “add several” option:

    How to use

    After all the necessary settings have been made, it remains to start the scan, for this we go to the scan schedule tab, and for example, run the scan manually:

    In order for the scan to start, you need to either refresh this page or simply open any page on the site.

    Need to implement

    What would I implement in the first place:
    • Requests to Yandex.XML, through a proxy, as if you do not have a dedicated IP address, then it may already be taken;
    • Download the COP from the metric or from the file, with the ability to set the file format ;
    • It is necessary to deal with the bug during the check, on some sites, while the check is working, the admin panel freezes;
    • The ability to analyze TOP pages that have improved and worsened positions, showing pages that, for example, have completely fallen out of IDEX, etc. etc.;
    • Add a hit counter to each of the pages or load data from the metric, then you need to pull up the frequency of the CS from somewhere (or give it the opportunity to set it manually) for KPI-SEO analysis. After all, the main task is to understand how much traffic an article should bring, how much it brought, how much it can bring in one or another position;
    • Add the ability to download income information in the context of each article from the Yandex metric (YAN) and adsense;
    • Enable the ability to take positions on Google;
    • Add localization to EN.

    My vizh

    In general, the already existing functionality allows you to analyze the status of your site in search results, the limits from Yandex are provided for free and in my case, I have enough of them. If not, then these limits can be bought on various exchanges, which is much cheaper than various services.

    Having made this minimum, I was planning to sell the plugin, but I realized that “born to fly, ca n’t crawl ”, if you have talent for this, then well.

    In my understanding, what I have implemented is suitable only for people who have few sites and few articles on them, such a solution will be extremely inconvenient for owners of large sites and site networks, namely, I would now focus on them. After all, their task, reducing the cost of taking positions and timely spot analysis of the site’s position in the search results is an important and difficult task for them.

    Therefore, I see the development of this plugin in this direction, which means that we need an external third-party service, where the data from all sites will be aggregated and the plug-in will act only as a layer - and maybe even lose relevance and you need to think, how this service will differ from the rest.

    You can also adapt this plugin for English-speaking webmasters by translating it to EN, and adding the ability to take positions in Gooogle. (Naturally not for free, at least you will need to support your services already)

    Please forgive me for such a messy description, I hope that this plugin will find its followers. Ask questions, I will cover all incomprehensible moments in the comments and am ready to provide support by code (via github - as far as possible). Negative criticism is also welcome if you think that I am somewhere in what is wrong with the rationale for why.

    PS. The code was written by me without any in-depth study of the PHP language, at an extremely low level a beginner is an enthusiast, so I apologize for the possible mistakes in the architecture (its absence), errors and the general lack of any approach or code style.

    Link to the GitHub repository (If something is not configured there, let me know, I'm not an experienced user of the git)

    Only registered users can participate in the survey. Please come in.

    Using free Yandex.XML limits?

    • 40% Yes 6
    • 40% No 6
    • 20% Do not Know 3

    Also popular now: