WordPress is the best engine when it comes to blogs and a lot of other content-heavy applications. Almost all the developers hate it because it’s really hard to understand where a lot of stuff is coming from and how to handle it. This one I admit might be not useful for everyone, but took me quite a lot of effort to deal with.
TLDR: unpublish through database stuff you don’t use and redirect stuff that you do use.
When you make a WordPress site, most likely you will want to use some fancy template with all the bells and whistles. Using it gives you features which would otherwise take dozens and dozens of hours to reproduce. But it comes at a price: first your pagespeed score suffers greatly, because those templates almost always include multiple js librariees and second they include plugins that nobody knows how they function under the hood.
Take ElementsKit for example. It’s a great plugin with all the “fun fact”, “pricing table” “piechart” and other modules which certainly make life easier.
But when I installed my cool template on this here site, soon I found out that my google site index looks like this:
It was full of crap I had no idea where it’s coming from and how to get read of it. I did think that I’m the dumbest dude out there, but certainly I wasn’t the only one
In fact this problem is rather old and developers are not very fast to solve it. To add insult to injury, all the templates come with demo content, and although I removed most of it, it somehow didn’t delete the elementskit elements and my index was full of zombie pages which looked like this:
And yes, the cooler your template, the more demo content and variations you have. And my template was one of the best, so I had more than 200 pages in my index instead of a dozen.
I managed to attach noindex
to those pages rather quickly, but hey, did this ever work work for any of you?
So I contacted the plugin team, but sure enough they didn’t no anything and promised to fix in the next release. So yes, here’s the solution (finally)
Go to the database and make a search:
SELECT * FROM tmp153dd7_posts WHERE guid LIKE '%elementskit%' AND post_status = "publish"
It will give you a list of stuff like this. Just change publish_status
to trash
, just be careful and don’t trash the stuff you actually use (post_modified
can help, demo content will naturally be older then your own)
This will leave you with elementskit element that you actually use. Which has urls like: https://nomadicsoft.io/?elementskit_template=xxxx
I didn’t find of a better way then to just use nginx redirect to fix it:
if ($args ~ '\belementskit[=&]?') { return 301 $uri; }
A bit weird but does the trick.
My google index still looks like crap, but I hope it will heal itself like Venice during coronavirus quarantine.
Entrepreneur and full-stack web developer capable of multitasking and completing large-scale projects in a short period of time. Founder of moy-razmer.ru and nomadicsoft.io, large experience in e-commerce and various SaaS projects
Custom eCommerce development starts with your needs. No matter what size your business is, crafting killer websites or robust applications with Nomadic Soft is a winning strategy. Our development team will always use the latest tech tools to build your business interactive and engaging web interfaces and applications.