Okay
  Public Ticket #3076473
SEO
Closed

Comments

  • Laura Barton started the conversation

    Hello. I was following up on this ticket regarding SEO questions. Many thanks. 

    We're using wpDataTables for 3 different databases on our website (they enable site visitors to search for a list products but there's no ecommerce on the site). In addition to being helpful information for our website visitors, these databases help us w/ SEO. However, according to the SEO reports we're getting out of our SEO platform SEMRush and other research we've conducted, it doesn't appear as though all entries in our databases are being indexed by the search engines (namely Google). How do we get all the entries in these databases to be indexed and help our seo? Many thanks!!!   Related URLs below. 

    https://osiglobal.com/eol-eosl-library/      (over 14,000 entries)

    https://osiglobal.com/hardware-catalog/   (over 1,000 entries)

    https://osiglobal.com/optics-search/  (over 1,100 entries) 

  •  2,523
    Aleksandar replied

    Hello Laura

    Thank you for reaching out to us.

    From what I can see, all these tables are server-side tables (one is a MySQL query-based table, and the other two are manual tables).

    wpDataTables with server-side processing enabled fetch only the rows needed on the page at the exact moment. By default, it equals the number of rows that the administrator defines for the table in the “Display length” setting; the front-user can, however, change it. For example: if the table is configured to show 10 rows by default, only 10 rows would be queried from MySQL. When the user switches to the next page and sorts the table by some column, or filters by some column, an AJAX request is sent to the server, the query is processed by MySQL, and 10 more rows are returned.

    Only the rows which are set to appear on the initial (first) page will be indexed by search engines, because all other rows will not be pulled to the front-end. We wouldn't recommend increasing the number of displayed rows to "All" as that will slow down the load and may even break the page due to the size of the table. There's no workaround for this, I'm afraid.

    Kind Regards, 

    Aleksandar Vuković
    [email protected]

    Rate my support

    wpDataTables: FAQ | Facebook | Twitter | InstagramFront-end and back-end demo | Docs

    Amelia: FAQ | Facebook | Twitter | InstagramAmelia demo sites | Docs | Discord Community

    You can try wpDataTables add-ons before purchasing on these sandbox sites:

    Powerful Filters | Gravity Forms Integration for wpDataTables | Formidable Forms Integration for wpDataTables | Master-Detail Tables

  • Laura Barton replied

    Thanks so much for the reply Aleksander. I know you said there's no workaround, but I found a reddit thread on this and found a suggestion for the below line of code. Will this help to address? 

    REDDIT THREAD: I think you need to add the below code and it will work.

    <script type="application/ld+json"> { "@context": "https://schema.org", "@type": "Table", "about": "Insert your table title" } </script>


  • Laura Barton replied

    Here's a link to the source of that line of code. Thanks again for your help.  :)  

    https://www.reddit.com/r/Wordpress/comments/lqkjtk/wordpress_table_plugin_wpdatatables_or_ninja/gpx8lrx/?context=8&depth=9

  •  2,523
    Aleksandar replied

    Hi Laura

    This is a custom solution which hasn't been verified by us, so we can't say if it will work correctly.

    One thing is for sure - server-side tables do not bring all rows to the front end page, so even if you add this, all data from the table would still not be seen by the search engines. It's simply not pulled by the plugin and remains only in the database until you switch to the next page, when another admin-ajax runs and fetches additional rows.

    Kind Regards, 

    Aleksandar Vuković
    [email protected]

    Rate my support

    wpDataTables: FAQ | Facebook | Twitter | InstagramFront-end and back-end demo | Docs

    Amelia: FAQ | Facebook | Twitter | InstagramAmelia demo sites | Docs | Discord Community

    You can try wpDataTables add-ons before purchasing on these sandbox sites:

    Powerful Filters | Gravity Forms Integration for wpDataTables | Formidable Forms Integration for wpDataTables | Master-Detail Tables

  • Tony Goedde replied

    I too am having this issue. I did get a response from Milos a while back but we could use some more help in describing what we need to do on our side to make the full table data searchable;


    "The tables are crawlable by search engines, if that helps :

    - Non-server-side tables (linked to Excel, CSV, PHP, JSON, XML, and Google Sheets) are crawlable in their entirety, while the server-side tables (manual, imported and MySQL query-based) only show the rows that are present in the table when the page loads." - Milos

    Our data comes from excel and csv files stored in the uploads folder in wordpress. How do we do a non-server-side table if that is the environment the website is built upon? Can we place the table data into a folder outside of wordpress but in the /root and direct the "data pull" to that location? We'd rather stay away from Google Sheets, but will having the data come from there make them searchable in their entirety?

    It does us little good to have our full product list in a data table that is not searchable for customers to find our product on a general web search.

    I too added this to a page specific schema:

    <script type="application/ld+json">
    {
      "@context": "http://schema.org/",
      "@type": "table",
     "name": "B737-7, 8, 8200, 9, 10 Parts List"
    "name": "B737-100, 200, 300, 400, 500 Parts List"
    "name": "B737-600, 700, 800, 900 Parts List"
    "name": "B747-8 Parts List"
    "name": "B767 Parts List"
    "name": "B777-200, 300 Parts List"
    "name": "B787 Parts List"
    }
    </script>

    Thank you for a expedient response.


  •  2,523
    Aleksandar replied

    Hello Tony.

    Tables linked to Excel and CSV files are non-server-side tables, so they are crawlable by search engines by default. Manual, imported, and MySQL tables are server-side tables and the search engines can only see the first page that's loaded in the table.

    We are using the WordPress function wp_upload_dir() for the location of upload files. By default is set to the upload folder (wp-content/uploads). However, you should be able to change that location. On this link, you can see how to do that.


    Kind Regards, 

    Aleksandar Vuković
    [email protected]

    Rate my support

    wpDataTables: FAQ | Facebook | Twitter | InstagramFront-end and back-end demo | Docs

    Amelia: FAQ | Facebook | Twitter | InstagramAmelia demo sites | Docs | Discord Community

    You can try wpDataTables add-ons before purchasing on these sandbox sites:

    Powerful Filters | Gravity Forms Integration for wpDataTables | Formidable Forms Integration for wpDataTables | Master-Detail Tables