ChatGPTを活用したWordPress自動投稿の極意 -Pythonコード

技術系
スポンサーリンク

はじめに

近年、コンテンツマーケティングの重要性が増している中、効率的に質の高いコンテンツを生成する手法が注目されています。その中で、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アカウントを作成する

OpenAIのAPIキー取得方法|2024年7月最新版|料金体系や注意事項 - Qiita
はじめに 先日DALL・E APIを使ったシステムを作る機会があったので、APIキーの取得方法についてまとめておきます。 用途に関わらず取得方法は同じです。 手順 この順番である必要はないのですが、私が取得した時の流れで説明します。 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対策、著作権など、注意すべき点も多いため、適切に運用していくことが求められます。

何はともあれ、コードが動いてよかった!

スポンサーリンク
タイトルとURLをコピーしました