サイトからURLのリストを取得する[終了]


94

クライアントの代わりのサイトを展開していますが、古いページのすべてが404で終わってほしくありません。古いURL構造は恐ろしいため、維持することはできませんでした。

したがって、要求されている古いページを探し、新しいページに永続的にリダイレクトする404ハンドラーを作成しています。問題は、すべての古いページのURLのリストが必要です。

私はこれを手動で行うことができますが、家に与えられた相対URL(例:/page/path、http:/.../page/pathではない)のリストを提供するアプリがあるかどうか興味があります。ページ。クモのようですが、より深いページを見つけること以外はコンテンツを気にしません。


回答:


65

私は自分の質問に答えるつもりはありませんでしたが、サイトマップジェネレーターの実行について考えました。最初に見つけたのは、http://www.xml-sitemaps.comに素晴らしいテキスト出力があることです。私のニーズにぴったりです。


しかし、5000個のリンクの制限があります。.. :(私は任意のフリーのPHPサイトマップ生成スクリプトを探しています!。
ジェンソンM・ジョン

13
現在の制限は500です
Oli Studholme 2014年

エラーが発生しました::::::::エラーが発生しました指定されたURLへのアクセス中にエラーが発生しました:159.121.ssss正しいWebサイトのURLを指定して、リクエストを再送信してください。
JustJohn

参考:フロントエンドルーティングを使用している場合、これらのルートはこのメソッドから取得されません。
jasonleonhard

参考:ウェブサイトが認証や承認を使用している場合、すべてのルートを取得することもできません。
jasonleonhard

46

行う wget -r -l0 www.oldsite.com

次にfind www.oldsite.com、すべてのURLが明らかになると思います。

または、404リクエストごとにそのカスタムのnot-foundページを提供するだけです!つまり、誰かが間違ったリンクを使用した場合、そのページが見つからなかったことがページに表示され、サイトのコンテンツに関するヒントが得られます。


15
特に、これはURLではなくファイルのリストを返すため、静的HTMLファイルのコレクションであるサイトでのみ機能します。サイトにURLクエリパラメータ、サーバー側の書き換えられたURL、またはあらゆる種類のinclude/ require/ etcがある場合。ページの組み立て、これは実際には機能しません。
TJ Schuck

wgetを誤解しているかもしれません。「wget」はサイトのコンテンツをダウンロードするためのものだと思いましたか?
Cosmic Hawk

@Doomsyはい、ただし、すべてのコンテンツをダウンロードしたら、確実にそのコンテンツへのすべてのURLを知っており、ダウンロードしないとURLを見つける方法はありません。
alamar 2016年

1
デフォルトの深さを考慮してください。gnu.org/software/wget/manual/html_node/...
PJ黒髪

1
@alamarはい、無限再帰には「-r -l inf」がありますが、ドキュメントをチェックすることをお勧めします。「-m」オプションはミラーリングし、画像をスキップすると思う「-R.jpg、.jpeg、.gif、.png」を試してみます。
PJ Brunet

24

以下はサイトマップジェネレーターのリストです(サイトからURLのリストを取得できることは明らかです):http : //code.google.com/p/sitemap-generators/wiki/SitemapGenerators

Webサイトマップジェネレーター

以下は、sitemaps.orgで定義され、Ask、Google、Microsoft Live Search、Yahoo!などの検索エンジンでサポートされているオープンスタンダードであるXMLサイトマップ形式でファイルを生成または維持するツールへのリンクです。サイトマップファイルには通常、ウェブサイト上のURLのコレクションと、これらのURLのメタデータが含まれています。次のツールは通常、「Webタイプ」のXMLサイトマップおよびURLリストファイルを生成します(一部は他の形式もサポートしている場合があります)。

注:Googleは、このサイトに掲載されているサードパーティソフトウェアの機能やセキュリティをテストまたは検証していません。ソフトウェアに関する質問はソフトウェアの作成者に直接送ってください。これらのツールをお楽しみください。

サーバー側プログラム

  • Enarion phpSitemapsNG(PHP)
  • Google Sitemap Generator(Linux / Windows、32/64ビット、オープンソース)
  • Outil en PHP(フランス語、PHP)
  • Perlサイトマップジェネレーター(Perl)
  • Pythonサイトマップジェネレーター(Python)
  • 単純なサイトマップ(PHP)
  • SiteMap XML動的サイトマップジェネレーター(PHP)$
  • OS / 2用のサイトマップジェネレーター(REXXスクリプト)
  • XMLサイトマップジェネレーター(PHP)$

CMSおよびその他のプラグイン:

  • ASP.NET-Sitemaps.Net
  • DotClear(スペイン語)
  • ドットクリア(2)
  • Drupal
  • eコマーステンプレート(PHP)$
  • eコマーステンプレート(PHPまたはASP)$
  • LifeType
  • MediaWikiサイトマップジェネレーター
  • mnoGoSearch
  • OSコマース
  • phpWebSite
  • プローン
  • RapidWeaver
  • テキストパターン
  • vBulletin
  • Wikka Wiki(PHP)
  • ワードプレス

ダウンロード可能なツール

  • GSiteCrawler(Windows)
  • GWebCrawler&Sitemap Creator(Windows)
  • G-Mapper(Windows)
  • Inspyder Sitemap Creator(Windows)$
  • IntelliMapper(Windows)$
  • Microsys A1サイトマップジェネレーター(Windows)$
  • Rage Google Sitemap Automator $(OS-X)
  • Screaming Frog SEO Spider and Sitemap Generator(Windows / Mac)$
  • サイトマッププロ(Windows)$
  • サイトマップライター(Windows)$
  • DevIntelligenceによるサイトマップジェネレーター(Windows)
  • Sorrowmansサイトマップツール(Windows)
  • TheSiteMapper(Windows)$
  • Vigos Gsitemap(Windows)
  • Visual SEOスタジオ(Windows)
  • WebDesignProsサイトマップジェネレーター(Java Webstartアプリケーション)
  • Weblight(Windows / Mac)$
  • WonderWebWareサイトマップジェネレーター(Windows)

オンライン発電機/サービス

  • AuditMyPc.comサイトマップジェネレータ
  • AutoMapIt
  • 自動サイトマップ$
  • Enarion phpSitemapsNG
  • 無料のサイトマップジェネレーター
  • Neuroticweb.comサイトマップジェネレーター
  • RORサイトマップジェネレーター
  • ScriptSocketサイトマップジェネレーター
  • SeoUtility Sitemap Generator(イタリア語)
  • SitemapDoc
  • Sitemapspal
  • SitemapSubmit
  • Smart-IT-Consulting Google Sitemaps XML Validator
  • XMLサイトマップジェネレーター
  • XMLサイトマップジェネレーター

統合サイトマップジェネレーターを備えたCMS

  • コンクリート5

Googleニュースサイトマップジェネレータ次のプラグインを使用すると、サイト運営者はGoogleニュースサイトマップファイルを更新できます。これは、ヘルプセンターで説明しているsitemaps.orgプロトコルの一種です。サイトマップファイルの通常のプロパティに加えて、Googleニュースサイトマップを使用すると、発行者は、発行するコンテンツのタイプを説明し、個々の記事へのアクセスレベルを指定できます。Googleニュースの詳細については、ヘルプセンターとヘルプフォーラムをご覧ください。

  • WordPress Googleニュースプラグイン

コードスニペット/ライブラリ

  • ASPスクリプト
  • Emacs Lispスクリプト
  • Javaライブラリ
  • Perlスクリプト
  • PHPクラス
  • PHPジェネレータースクリプト

正当な理由でツールを追加または削除する必要があると思われる場合は、ウェブマスターヘルプフォーラムにコメントを残してください。


すべてのURLからprintscreenを提供する人はいますか?
ValRob

6

私が見つけた最高のものはhttp://www.auditmypc.com/xml-sitemap.aspで、Javaを使用しており、ページ数に制限はなく、結果を未加工のURLリストとしてエクスポートすることもできます。

また、セッションを使用するため、CMSを使用している場合は、クロールを実行する前にログアウトしていることを確認してください。


3
良さそうに聞こえますが、壊れています。
NoobishPro 2016

2

したがって、理想的な世界では、サイト内のすべてのページの仕様があるはずです。また、すべてのページにアクセスしてそれらをテストできるテストインフラストラクチャも必要です。

あなたはおそらく理想的な世界ではないでしょう。なぜこれをしませんか...?

  1. 既知の古いURLと新しいURLの間のマッピングを作成します。古いURLが表示されたときにリダイレクトします。「このページは移動しました。新しいURLはXXXです。間もなくリダイレ​​クトされます」の提示を検討する可能性があります。

  2. マッピングがない場合は、「申し訳ありません-このページは移動しました。ここにホームページへのリンクがあります」というメッセージを表示し、必要に応じてリダイレクトします。

  3. すべてのリダイレクト、特にマッピングのないリダイレクトをログに記録します。時間の経過とともに、重要なページのマッピングを追加します。



1

ディスクからすべてのhtmlを読み取り、「a」要素のすべての「href」属性を出力するスパイダーを作成します(パーサーで実行できます)。特定のページに属するリンクを覚えておいてください(これはMultiMapデータ構造の一般的なタスクです)。この後、404ハンドラーの入力として機能するマッピングファイルを作成できます。


0

私はいくつものオンラインサイトマップ生成ツールを調べます。個人的には、これを(Javaベースの)過去に使用したことがありますが、「サイトマップビルダー」でグーグル検索を行うと、さまざまなオプションがたくさん見つかるはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.