I hesitated for a long time between choosing
WordPress and
Xoops to create an information site, essentially a news site (specialized content), similar to a journalistic site (
no forum, no download library, or other diverse features). I was ready to go with WP, which is stronger in terms of
SEO (its main advantage over Xoops), but ultimately, WP's block-based editor never convinced me and tipped the balance towards Xoops, a platform I know well.
For reasons that are a bit complicated to explain here, I should mention that my hosting environment is limited to PHP 7.33 and MySQL 8, which led me to choose
Xoops 2.5.10, equipped with the xmNews and xSitemap modules.
Once the site was nearly finished, with about a dozen articles written, I faced a total de-indexation (
all URLs returned 404 errors) due to a bug in the 'preloads' folder... It took me four days and nights to finally understand why and how it happened! I didn’t see any warning either during the installation of 2.5.10 or in the modules affected by this bug. However, it might be my own fault for not reading the documentation carefully enough, as I'm quite accustomed to setting up Xoops sites in earlier versions. I won’t dwell further on this, as it’s not the main focus of my topic.
I simply wanted to offer some suggestions about the xmNews and xSitemap modules in terms of SEO. This is important because even the most beautiful website in the world is useless if it doesn’t have any visitors!
1/ xmNewsIt's important that every article complies with
Google and
Bing's recommendations.
xmNews offers a list of specific keywords for each article, but that doesn’t matter! It’s been a long time since the two main search engines stopped taking the “keywords” tag into account.
What really matters is the
meta Title and
Description. As for the Title, xmNews uses the article's title, which is great... but why mix it with the "sitename"? That’s counterproductive, the article title alone is sufficient. The sitename appears everywhere else, and search engines don’t like over-optimization!
Regarding the meta Description, it’s the same for every page, which is a real shame :(
I suggest generating the meta Description with the
first 250 characters of the article’s summary (or scoop).
In the meantime, I will likely write some PHP code to modify the Article page and create a new Smarty variable with these 250 characters. However, I wonder if it's possible to achieve this directly in the article's template, since we already have the {$news} variable. I'm not skilled enough in Smarty coding to know if we can extract the first 250 characters from {$news} directly within the template... This would have the advantage of preserving the modification during a module update through template overrides.
Moreover, xmNews would be even better for SEO if there was a "canonical" tag. For now, I’ve added this "canonical" tag myself with a modification to the template that looks like this:
<{if $xoops_requesturi == '/modules/xmnews/index.php' or $xoops_requesturi == '/modules/xmnews/index.php' or $xoops_requesturi == '/modules/xmnews/'}>
<link rel="canonical" href="<{$xoops_url}>/" />
<{else}>
<link rel="canonical" href="<{$xoops_url}><{$xoops_requesturi}>" />
<{/if}>
Finally, the 'must-have' would be specific OpenGraph tags for each article (and even for the whole site)
2/ xSitemapThe very existence of a sitemap is SEO, right? So why not do the job completely!
xSitemap should reference the URL of each article! Why does it limit itself to referencing categories? Google and Bing love when we point out the specific URLs we want them to index. Otherwise, they wouldn’t have invented sitemaps!
Of course, these are just personal suggestions, but I believe they could really improve the traffic for a site built with these modules...
Regards / Gerard