先日偶然見つけたのですが、このブログのある記事のURL(パーマリンク)に日本語の文字列が混ざっていました。
全部英数字とハイフンで統一するようにしているので、その記事については修正したのですが、他にも設定し忘れているのがないか不安になって調べたのでその方法のメモです。
正直、記事数はそんなに多くないので、日本語が混ざってないかどうか確認するだけであればURLの一覧さえ取得できれば目視で確認できます。
で、管理画面で探したのですが、「記事のURL一覧エクスポート」、みたいな機能は見つかりませんでした。
そう言うプラグインはあるらしいのですが、一回確認するだけのためにプラグインを入れるのも嫌なので、DBから直接取得することにしました。
このブログのパーマリンクは、
https://analytics-note.xyz/%category%/%postname%/
という構成で設定しているので、postname(投稿名)の一覧を取得すれば良いです。
まず、こちらの記事で書いた方法でDBにログインします。
参考: LightsailのMySQLに接続する
DB名の確認。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| bitnami_wordpress |
| mysql |
| performance_schema |
| sys |
+--------------------+
この中で、bitnami_wordpressが目当てのDBなので切り替えます。
mysql> use bitnami_wordpress;
Database changed
wordpressのデータベース構造についてはこちらにドキュメントがあります。
参考: データベース構造 – WordPress Codex 日本語版
記事の情報は、 wp_posts というテーブルに入っています。
この中の、 post_type が、 ‘post’のものが記事です。
そして、 post_status が ‘publish’ のものが公開中の記事になります。
目当ての URLに使われる投稿名は、 post_name 列に含まれています。
あとは日本語のタイトルである、 post_title 列と一緒に表示するSQL を書いて実行すれば、投稿名の一覧が取得できます。
mysql> SELECT
post_title,
post_name
FROM
wp_posts
WHERE
post_type = 'post'
AND
post_status = 'publish'
;
これで確認できました。