はじめに
近年、コンテンツマーケティングの重要性が増している中、効率的に質の高いコンテンツを生成する手法が注目されています。その中で、AI技術の進化により、ChatGPTを活用したWordPressへの自動投稿が話題となっています。本記事では、ChatGPTを使ったコンテンツ自動作成の方法やそのメリット、注意点について詳しく解説します。
まあでも、いちいちChatGPTに記事を書いてもらって、コピペしてもめんどくさいと思うので、一発でWordPressに下書き保存するコードも書きました。
ChatGPTとは?
ChatGPTの基本概念
ChatGPTは、OpenAIが開発した自然言語処理モデルの一つです。
このAIは、大量のデータを元に学習し、人間のような自然な対話やテキスト生成が可能です。
これにより、ユーザーは迅速かつ効率的にコンテンツを生成することができます。
ChatGPTの利用方法
ChatGPTはウェブアプリケーションやAPIを通じて利用でき、さまざまな質問に対して即座に応答を生成することができます。
これにより、コンテンツアイデアのブレインストーミングや記事の下書きを簡単に作成することが可能です。
WordPressでの自動投稿のメリット
効率性の向上
WordPressで自動投稿を行うことで、手動での投稿作業が不要になります。
特に、定期的なコンテンツ更新が求められるブログやウェブサイトでは、時間の大幅な節約につながります。
コンテンツの一貫性
AIを活用することで、記事のスタイルやトーンを統一することが容易になります。
これにより、訪問者にとって一貫した経験を提供でき、ブランドイメージの向上にも寄与します。
ChatGPTを活用したコンテンツ作成の手順
ステップ1: テーマの決定
まずは、どのようなテーマでコンテンツを作成するかを決定します。
ターゲットとする読者層や競合他社の分析を行い、需要のあるテーマを選定しましょう。
この部分は今回のコードでは自力で考えることとします。そっちの方がメディアに愛着がわきます。
ステップ2: ChatGPTへの作成指示
この部分を今回はPythonを使って実装します。コードは後程。
ステップ4: 生成されたコンテンツの修正
ChatGPTが生成したコンテンツは、そのまま使うのではなく、必ず修正を加えましょう。
AIが生成するコンテンツには一定の不正確さや独自性が欠ける場合があるため、校正をしながら自分のスタイルを反映させる必要があります。
ステップ5: WordPressへの投稿
修正を加えたら、その内容をWordPressに投稿します。
ここはいつも通りの操作で問題ありません。
自動投稿を行う際の注意点
コンテンツの質
自動投稿を行うことは便利ですが、質を確保することが重要です。AI生成のコンテンツは、特に専門的な知識や洞察が求められるテーマにおいて完全ではないことがありますので、必ず自分自身の見解や情報を追加することが求められます。
SEO対策
自動生成されたコンテンツがSEOに最適化されているかどうかを確認する必要があります。メタディスクリプション、タイトルタグ、見出しなど、SEOの基本をしっかりと押さえておきましょう。
著作権の問題
ChatGPTが生成するコンテンツには、著作権の問題も考慮しなければなりません。他のサイトからのコンテンツをコピーしないよう注意し、自分の言葉で情報を表現することが重要です。
pythonで実装していく
さて、ここから具体的なコードについて解説します。
OpenAI apiアカウントを作成する

ここら辺を参考にアカウントを作成します。
最初にアカウントを作ったときから3か月しか無料クレジットが聞かないらしく、最小単位の$5課金しました。
キーワードリストの作成
keyword.txtに作成したい記事を記載します
24万円でエジプトトルコを周る
実装コード
今回実装したコードはこちら
from openai import OpenAI
from wordpress_xmlrpc import Client, WordPressPost
from wordpress_xmlrpc.methods.posts import NewPost
from datetime import datetime
import markdown
import locale
# OpenAIクライアントの設定
client = OpenAI(
api_key="xxxxxxxxxxxx"
)
# キーワードファイルの読み込み
keyword_file_path = './keyword.txt'
with open(keyword_file_path, 'r', encoding='utf-8') as keyword_file:
keyword_list = [keyword.strip() for keyword in keyword_file.readlines() if keyword.strip()]
if keyword_list == []:
None
else:
for keyword in keyword_list:
question_title = f"{keyword}のキーワードで上位表示するための記事のタイトルを作成してください。出力はタイトル1つのみで、文章ではなくタイトルだけでokです。"
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{
"role": "system",
"content": "あなたはSEOのプロフェッショナルです。1度出したものを60点として100点を出してください。"
},
{
"role": "user",
"content": question_title,
}
],
)
# タイトル生成結果の取得(修正版)
generated_title = response.choices[0].message.content
question_content = f"{generated_title}のキーワードで上位表示するための記事を作成してください。(後述の制約を守って)■制約・全体の文字数は3000文字程度になる想定・見出しはh2、h4を使用する・マークダウン形式で"
response = client.chat.completions.create(
model="gpt-4o-mini",
messages=[
{
"role": "system",
"content": "あなたはSEOのプロフェッショナルです。日本語で返答してください。"
},
{
"role": "user",
"content": question_content,
}
],
)
# 記事内容の生成結果を取得(修正版)
wpContent_md = response.choices[0].message.content
# 日本時間に設定
locale.setlocale(locale.LC_TIME, 'ja_JP.UTF-8')
url = "https://xxxxxxxx.com/xmlrpc.php"
user = "xxxxxxxx"
password = "xxxxxxxxx"
# WordPressクライアントの設定
wp = Client(url, user, password)
post = WordPressPost()
# md → html
wpContent_html = markdown.markdown(wpContent_md)
# 記事の編集
post.post_status = "draft"
post.date = datetime.now()
post.title = generated_title
post.content = wpContent_html
# 投稿
wp.call(NewPost(post))
print(f"投稿完了: {generated_title}")
with open(keyword_file_path, 'w', encoding='utf-8') as keyword_file:
pass
実行結果

すごい、ちゃんと作成されている!
記事ごとのクオリティを上げたい場合はコード内のプロンプトを整備する必要がありそうです。
まとめ
ChatGPTを活用したWordPress自動投稿は、効率的なコンテンツ作成を実現する強力な手法です。しかし、コンテンツの質やSEO対策、著作権など、注意すべき点も多いため、適切に運用していくことが求められます。
何はともあれ、コードが動いてよかった!