web-dev-qa-db-ja.com

WordPressサイトを「可動」にするためのベストプラクティスは?

私はドメインを購入し、それをWebホスティング会社でそれにWordPressサイトをインストールすることを計画しています。しかし、最初にいくつかのバグを解決する必要があります...私は自宅のコンピュータでLAMP-stackを動作させることができたので、まずインターネットから自分のサイトをローカルにインストールすることを考えています。

私はほとんどすべてがうまくいくことを確認するために微調整して "test-posts"を作成しますが、私はおそらく私がサイトを移動してオンラインにしたときに残しておきたいいくつかの投稿もするでしょう。

バグの追跡が終わったときpublic_html | wwwディレクトリツリーをパッケージ化してWebホスティング会社にアップロードし、さらにデータベースを私の自宅のコンピュータからWebホスティングにエクスポートすることにします。


いくつかの「ベストプラクティス」、いくつかのdo-s、not-s、いくつかの注意すべき主要なピットがあるかどうか、私が思っていることは何ですか?

例えば、localhostからへのように、投稿やリンク内のドメイン名をスムーズに移行させる方法whatever-i-end-up-buying.com(私の自宅のコンピュータでWordPressを実行しようとする以前の試みから、これは常にうまくいくとは限らないことがわかりました...)。

2
Baard Kopperud

WordPressのWebサイトを移動するのはかなり簡単です。手順は次のとおりです。

  • Mysqlデータベースをバックアップして新しい環境に再インポートします。
  • すべてのファイルを新しい環境に移動します。
  • 新しいデータベース接続情報を反映するようにwp-config.phpファイルを更新します。
  • (*)ドメイン名が変更された場合は、出現するすべてのドメイン名を新しいドメイン名に置き換えます。

(*)これはほとんどの場合混乱を招くステップです。ドメイン名が表示されているデータベース内のいくつかのオプションを単純に置き換えるだけで十分であると考える人もいますが、残念ながらそれだけでは不十分です。

確かにWordPressはPHPシリアライズ/アンシリアライズ関数を使ってデータベースに配列を保存します。ここでの問題は、シリアル化されたオブジェクトに含まれるドメイン名を単に置き換えると、データが破損し、PHPシリアル化によってすべての変数の長さがデータの一部として追加されるため、データをデシリアライズできなくなることです。そのため、実際にドメイン名を同じサイズの別のドメイン名に置き換えない限り、単にデータベースの検索と置き換えを行うことはできません。

幸い、2つの簡単な解決策があります。

  1. このスクリプト: https://interconnectit.com/products/search-and-replace-for-wordpress-databases/ フォルダをフォルダに展開するだけです。あなたのインストールのルートとhttpでそれにアクセスしてください。 終了したら、必ずフォルダを削除してください
  2. このCLI: http://wp-cli.org/commands/search-replace/ 私が個人的に好む解決策は、単なる検索以上のことをするからです。交換して、正常なWordPressインスタンスを維持するのに役立ちます。
2
rayrutjes

これは、私がWPサイトをdevからtestまたはproductionに移動するときに使う私のメモです。

現在のホスト/ドメインで:

  1. その後、gzipをダウンロードするか、すべてのWebフォルダの内容をローカルコンピュータにダウンロードします。

  2. SSH(例:PuTTY)セッションから:データベースをダンプします。

    $ mysqldump -u username -p wp_databasename> mydump.sql

    (または、phpmyadminの「export」機能を使用してください)

  3. データベースダンプをローカルコンピュータにダウンロードします。

新しいホスト/ドメインで:

  1. SSH $ mysqlコマンドまたはCPanelを使用して新しいデータベースを作成します。

  2. 手順2からデータベースダンプをアップロードします。

  3. SSHセッションから:データベースダンプを新しいデータベースにインポートします。

    $ mysql -u username -p wp_databasename <mydump.sql

    (または、phpmyadminの「インポート」機能を使用してください)

  4. interconnectit.comからPHPユーティリティの "database search and replace"をアップロードします。

    (注:このユーティリティはシリアル化されたデータを正しく処理します)
    (注:アップロード時にファイルアクセス権644フォルダ755を保証する)

  5. 検索/置換ユーティリティを実行して、以前のサイトのURLを新しいURLに置き換えます。

  6. 手順1のWebフォルダの内容をアップロードします。ファイルのアクセス権644とフォルダのアクセス権755を確認します。

  7. 必要に応じてwp-config.phpを更新してください(例えば、DB接続設定はおそらく異なる)。ローカライズされたアイテムがある場合は、.htaccessをチェックしてください。

  8. 「データベースの検索と置換」ユーティリティを削除します。

1
C C

localhostからライブサーバーと新しいドメインに移行する準備ができたら、次の手順を実行します。

移行の準備

  1. あなたのプロフィールに基づいて、私はあなたがマイグレーションの準備をするためにあなたのデータベースをphpMyAdminにエクスポートする方法を知っていると仮定します
  2. WordPressディレクトリ全体を掴む人もいますが、/wp-content/フォルダだけを好むのであれば、次の数ステップでその理由がわかります。
  3. ライブサーバーにWordPressのフレッシュインストールをセットアップしてください。
    • 今日では、ほとんどのホスティングプロバイダが最新バージョンのWordPressをワンクリックでインストールするので、セットアップにかかる時間を節約できます。
  4. 新しいデータベースとホストにアクセスします

新しいサーバーへの移行

  1. 新しいホストにWordPressを新しくインストールしたら、 FileZilla のようなプログラムを使用してFTP経由で接続します。
  2. wp-contentフォルダを削除し、代わりにwp-contentlocalhostコピーをドロップしてください。
    • フォルダの大きさによっては、すべてを転送するのに数分かかることがあります。
  3. 新しいデータベースに移動し(phpMyAdmin経由で)、WordPressの新規インストールによって最初に作成されたすべてのテーブルを削除し、代わりにローカルコピーをインポートします。

新しいドメインに更新しています

すべてのファイルとデータに関して移行は完了していますが、すべてのリンクがあなたのlocalhostを指しているので、これが機能することにはなりません。 (データベースの)wp_optionsテーブルのhomeおよびsiteurlの値を変更するだけでは残念ながら不十分です。

あなたはあなたのlocalhost URL(http://localhost/wordpress)であなたの投稿とページのコンテンツをまだ持っているでしょうあなたのウェブサイトが正しく表示されない原因となります。

データベースをダウンロードしてローカルホストにインポートしたら。次の手順を実行します:

  1. 接続してダウンロードする 相互接続ITのデータベース検索と置換スクリプトはこちら
  2. ファイルを解凍し、あなたのWordPressがインストールされているフォルダ(ルート)をドロップし、replacescreenshot
  3. ブラウザで作成した新しいフォルダ(例:http://example.com/replace)に移動し、 検索/置換ツールが表示されます
  4. ここまではっきりとわかります。search for…フィールドにあなたのlocalhost URLを、そしてreplace with…フィールドに新しいURLを入力してください。

スクリプトを実行する前に、actionsの下のdry runボタンをクリックして、何が置き換えられるのかを確認できます。完了したら、/replace/フォルダを必ず削除してください。あなたのウェブサイトをチェックして、他に何も配置されていないことを確認してください。