web-dev-qa-db-fra.com

Comment supprimer Content with 410 Status Code

j'ai donc un site Web Joomla avec beaucoup de contenu (plus de 10 000 éléments cumulés au cours des 10 dernières années).

Je souhaite supprimer le contenu des 5 premières années, car cela coûte beaucoup de Crawler Budget à Google. Pour ce faire, je dois déclarer la page avec le code d'état http 410 - afin qu'elle soit définitivement supprimée et que Google n'essaye pas de l'explorer encore et encore.

Alors, comment puis-je gérer cela sans éditer chaque URL à la main? Existe-t-il un moyen même de supprimer du contenu de cette manière dans joomla?

4
OmegaTCU

Je n'ai jamais eu à faire quelque chose comme ça avant.
Cependant, je viens d’avoir une idée un peu gênante, mais certainement simple, qui pourrait fonctionner pour vous.

Créez un remplacement de modèle pour la vue d'article dans:

/templates/YOUR_TEMPLATE/html/com_content/article/default.php

Dans default.php, Juste en dessous de la defined('_JEXEC') or die;

ajoutez ce qui suit:

$time = strtotime("-5 years", time());
$date = date("Y-m-d", $time);


if ($this->item->created < $date) {
    JError::raiseError(410, "This page isn't available any more and will never be available again in the future");
}

Cela permet de comparer si la date de création de l'article est antérieure à 5 ans. Si tel est le cas, la page d'erreur système de joomla s'affichera avec le code d'état 410 et le message suivant: "Cette page n'est plus disponible et ne le sera plus jamais à l'avenir".

Testez ceci quelque part avant de faire quoi que ce soit sur votre site web en direct.

2
FFrewin