모든 WordPress ポストURLを抽出する(feat. PHPスクリプト)

Last Updated: 2023 年 10 月 01 日 댓글

このブログではphpMyAdminから WordPress 記事URLを抽出する方法を見たことがあります。

上記の記事で紹介する方法を使用すると、投稿のURLを投稿のGUID形式で一覧表示できます。 (例:https://example.com?p=1234)

一意のアドレス設定によっては、実際の投稿URLが異なる場合があります。 このブログの場合 https://www.thewordcracker.com/카테고리/글이름/ 形式でURLが表示されます。 実際の投稿URL形式ですべての投稿アドレスを抽出したい場合は、以下の方法を使用できます。

一意のアドレスが「投稿名」になっている場合は、以下の方法を使用するか、この記事の下部に示されているSQLクエリを使用して投稿URLを抽出できます。 以下のPHPスクリプトは、固有のアドレス設定に関係なく、すべての投稿URLを抽出できます。

参考までに Export All URLs プラグインを使用すると、すべてのURLを簡単にエクスポートできます。 まず、このプラグインを使用して抽出を試してみて、エラーが発生した場合(たとえば、マルチサイトではこのプラグインが正しく機能しない可能性がある場合)、以下の方法を検討してください。

모든 WordPress ポストURLを抽出する(feat. PHPスクリプト)

WordPress サイトのすべての投稿URLを一覧表示したい場合は、PHPファイルを作成します WordPressがインストールされているディレクトリにアップロードできます。

テキストファイルを開き、次のコードをコピーして貼り付けます。

<?php

include "wp-load.php";

$posts = new WP_Query('post_type=any&posts_per_page=-1&post_status=publish');

$posts = $posts->posts;

header('Content-type:text/plain');

foreach($posts as $post) {

   switch ($post->post_type) {

       case 'revision':

       case 'nav_menu_item':

           break;

       case 'page':

           $permalink = get_page_link($post->ID);

           break;

       case 'post':

           $permalink = get_permalink($post->ID);

           break;

       case 'attachment':

           $permalink = get_attachment_link($post->ID);

           break;

       default:

           $permalink = get_post_permalink($post->ID);

           break;

   }

   echo "\n{$permalink}";

   //echo "\n{$post->post_type}\t{$permalink}\t{$post->post_title}";

}

?>

ファイル名を エクスポート.php または希望の名前で指定します。

ファイルを保存した場合 ファイルBugzillaの などFTPクライアントを使用して FTPサーバーに接続ルートフォルダにこのファイルをアップロードします。

FTP経由で WordPress ルートディレクトリにファイルをアップロードする

今Chromeなどのブラウザで https://example.com/export.php 形式で住所を入力すると、すべての投稿URLが表示されます。

모든 WordPress ポストURLを抽出する(feat. PHPスクリプト)

文のタイトルにハングルが含まれている場合、上の図のようにエンコードされた形式で文のURLが抽出されるため、奇妙な記号で文のアドレスが表示されますが正常です。 投稿URLをコピーしてテキストファイルやExcelファイルなどに貼り付けることができます。

※一部のWebホスティングでは上記のスクリプトが動作しない場合があります。 曇りでホストされている WordPress サイトでは、上記のコードを実行しても何も表示されませんでした。

Bluehost VPSPHP 8.2環境でテストしてみるとうまくいきました。 うまくいかない場合は、エラーログを確認してWebホスティング会社に連絡してみてください。

投稿URLは、最新の投稿から古い投稿の順に表示されます。 古い記事から最新の記事の順序で並べ替えたい場合は、上記のコードを変更することもできますが、Excelを使用して順序を変更できます。

EmEditorなどのテキストエディタでは、逆に並べ替える機能があります。

昇順ソート、降順ソートだけでなく、ランダムにソート(ランダムにソート)する機能も提供します。

付録:固有アドレス形式が「投稿名」の場合は、実際の投稿アドレス形式で投稿URLを抽出する

固有アドレス設定 /文名/の場合は、次のSQLクエリを使用してphpMyAdminから投稿URLを実際の投稿アドレス形式に抽出できます。

select concat('https://example.com/',post_name) from wp_posts where post_status='publish' and post_type='post';

固有アドレス設定が異なる形式の場合、上記のコードは使用できません。

追加: 上記の方法でURLを抽出すると、末尾にスラッシュ(/)がなくなります。 上記のSQLクエリを修正して最後にスラッシュを追加してください。 そうでなければ Naver サーチアドバイザーが収集を要求すると、リダイレクトされたページの問題が収集制限になる可能性があります。

SQLクエリを変更できない場合は、上記の記事で提示する方法(正規表現を使用)でURLの末尾にスラッシュを追加できます。

Naverに自動的にURL収集リクエストをしたい場合 Windowsキーボードマクロプログラムを活用できます。

最後に、

以上でPHPを使って WordPress 投稿URLをすべて抽出する方法を見てみました。 例えば、 Naver ウェブマスターツール(Naver サーチアドバイザー)またはGoogleサーチコンソールを介してページ収集を要求したい場合は、すべての記事URLを抽出してマクロを作成して収集要求を行うことで時間と労力を節約できます。

参照


コメントを残す

コメント