web-dev-qa-db-fra.com

Comment les sitemaps des grands sites MediaWiki sont-ils générés?

Cette question est liée à mes questions sur les choses le système de fichiers de Wikipedia et générer un sitemap pour Wikipedia . C'est plus général.

Problème: Supposons qu'un site sur MediaWiki contenant environ 10 000 pages soit partiellement indexé par les moteurs de recherche. Il a un spectre similaire à celui du spectre .

Question: Comment pouvez-vous générer des sitemaps pour tout grand site afin de garantir sa visibilité sur les moteurs de recherche?

4
user8926
3
jacktrade

Les sites MediaWiki ont tout leur contenu dans une base de données relationnelle (SGBDR). Le code permettant de générer un plan de site consiste en une requête SQL SELECT à extraire les informations nécessaires pour chaque page. Probablement faisable dans une requête SQL unique (qui renvoie une ligne par page). Le code pour cela est assez simple, vraiment.

Tout site de grande taille utilisant un système de gestion de contenu (CMS) aura également la possibilité de générer un sitemap, même s’il ya plusieurs millions de pages. Interrogez la base de données, formatez les résultats dans le format de sitemap approprié. À peu près le même genre de code qu'une recherche, mais avec une clause WHERE de moins (pour tout renvoyer) et aucune pagination nécessaire. Le type et le schéma de la base de données peuvent affecter sa simplicité, mais en général, un CMS aura le nom de la page, l'URL (ainsi que les champs nécessaires pour générer une URL), la date de modification, etc. comme champs de la base de données.

Cette question et vos deux autres donnent l’impression que vous ne comprenez pas vraiment que les sites MediaWiki utilisent une base de données relationnelle, pas un tas de répertoires pleins de fichiers.

Avez-vous avez un grand site pour lequel vous essayez de générer des plans Sitemap? Comment les données sont-elles stockées? Fichiers à l'ancienne sur un système de fichiers?

1
freiheit

La plupart des sites publics n'ont que quelques "pages" pour le développeur.

Erreur de serveur, par exemple, ne comprend probablement qu'environ 20 pages différentes. Cela signifie que de grandes parties des cartes de site peuvent être générées de manière dynamique en fonction des informations contenues dans la base de données principale, puis que quelques pages supplémentaires sont ajoutées de manière statique.

1
Spencer Ruport

C'est très simple.

php maintenance/generateSitemap.php \
   --fspath sitemap \
   --server http://example.org \
   --urlpath http://example.org/sitemap

Voir le generateSitemap.php manual pour plus d'informations.

Les solutions de bricolage suggérées par les autres réponses sont sous-optimales.

0
Nemo

Vous avez quelques options.

S'il s'agit d'un grand site Web créé en interne, vous construirez probablement vos sitemaps en fonction de requêtes de base de données. Vous avez également la possibilité de "googlebot" vous-même en utilisant divers générateurs de sitemap qui démarrent sur votre page d'accueil et explorent l'intégralité de votre site Web - créant ainsi automatiquement des fichiers de sitemap.

Nous utilisons ce logiciel pour l'exploration et la création de plans Sitemap pour certains grands sites Web:

http://www.xml-sitemaps.com/

0
Matt Beckman