100
PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社 代表取締役 中村 けん牛

PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎

プライム・ストラテジー株式会社

代表取締役 中村 けん牛

Page 2: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

P r i m e S t r a t e g y C o . , L t d . W o r d P r e s s I n t e g r a t i o n D i v i s i o n

1.今日お話しすること

2

Page 3: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

最近、次のような声をいただく機会が多くなりました。

3

Page 4: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

「最近よく聞くWordPress、ブログだけじゃなくてCMSの開

発や、Webアプリケーション開発のためのフレームワーク

ライクにも使えるって話だけど、具体的にどうやって開発

するのかなぁ。」

4

Page 5: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

という声や

5

Page 6: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

「PHPとMySQLで出来てるってことは知ってるけど、ちょっ

と重いらしいね。月間1,000万PVのサイトにも使えるのか

なぁ。」

6

Page 7: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

という声や

7

Page 8: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

「そもそも何でみんなWordPress使ってるの?具体的なベ

ネフィットってなに?」

8

Page 9: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

という声にこれからお答えします。

9

Page 10: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

P r i m e S t r a t e g y C o . , L t d . W o r d P r e s s I n t e g r a t i o n D i v i s i o n

10

2.自己紹介

Page 11: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

中村 けん牛 自己紹介

11

WordPressインテグレーションサービスを提供

するプライム・ストラテジー株式会社の代表取

締役。

執筆した書籍『WordPressの教科書』

『WordPressの教科書2』は累計部数3万部突

破。

t @kengyu_n f Kengyu.Nakamura

Page 12: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

執筆書籍

12

(出版社:ソフトバンク クリエイティブ株式会社)

2012年3月30日発売

本格ビジネスサイトを作りながら学ぶ

WordPressの教科書

Amazon 「IT・コンピュータ」カテゴリ1位(2012年6月)

2万部突破。重版(8刷)配本中。 (2013年9月)

Page 13: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

執筆書籍

13

(出版社:ソフトバンク クリエイティブ株式会社)

2013年8月29日発売

本格ビジネスサイトを作りながら学ぶ

WordPressの教科書2 [スマートフォン対応サイト編]

Amazon 総合ランキング1位(2012年9月3日)

Page 14: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressコンサルタント

14

ー 米国Automatic社 Code Poet コンサルタントリストに掲載 ー

プライム・ストラテジーは世界に52社ある WordPressコンサルタントの1社です。

Page 15: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

JTB アジアパシフィック 様 世界中のグループ各社で利用する社内ポータルサイト(イントラサイト)

主なWordPress開発実績

15

Page 16: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

主なWordPress開発実績

16

株式会社マイナビ 様 女性向けポータルサイト「マイナビウーマン」

Page 17: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

主なWordPress開発実績

17

テレビ朝日 様 番組ブログポータル

Page 18: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

P r i m e S t r a t e g y C o . , L t d . W o r d P r e s s I n t e g r a t i o n D i v i s i o n

18

3.WordPressとは?

何故多くのサイトで使われているのか。

Page 19: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressとは?

PHP+MySQLで出来ている世界最大シェアの

オープンソースCMSソフトウェア

19

Page 20: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressとは?

20

• 世界のWordPressサイト数

• WordPressのシェア

世界シェアNo.1のCMSソフトウェア

(2013.9/27 http://en.wordpress.com/stats/調べ)

世界のWebサイトの

WordPress利用の割合

世界のCMSを用いた

Webサイトの

WordPress利用の割合

世界のWebサイトの

CMS利用の割合

(2012.4 W3Techs調べ)

34 65

20

Page 21: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのメリット

20,000を超えるプラグインが公式Pluginディレクトリに登録

21

Page 22: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのメリット

2,000を超えるテーマが公式Themeディレクトリに登録

22

Page 23: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressの生産性

23

他のCMS

デフォルト機能

プラグイン

開発情報

開発

カスタマイズ

デフォルト機能

プラグイン

開発情報

開発

カスタマイズ

開発

カスタマイズ

スクラッチ開発

開発時間

シェア1位かつ豊富なプラグインや開発情報があるので開発コストが低い

Page 24: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

なので、

24

Page 25: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

JTB アジアパシフィック 様 世界中のグループ各社で利用する社内ポータルサイト(イントラサイト)

JavaやPHPのフレームワークなどを使わずにイントラサイトを開発

25

Page 26: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

26

CMSの管理画面を現場担当者向けにカスタマイズ

Page 27: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

なので、WordPressは

生産性の高いCMS/アプリケーションプラットフォーム

として利用されています

27

Page 28: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

28

現在のWebサイトを取り囲む環境に適合したCMS

検索エンジン(SEO) ソーシャル(SMO)

CMSサイト

マルチデバイス

(PC、スマホ)

Page 29: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

SEO適性が高い

29

WordPressは

Page 30: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

30

豊富なSEO関連の プラグイン

SEO関連プラグインが豊富

様々なSEOの強化を簡潔に(SEO内部対策)

Page 31: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

プロダクトとしてのSEO適性が高い

31

・もともとの作りがSEO適正に高いプロダクト

・さらに、豊富なプラグインから対策(作業)が簡潔に可能

Page 32: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

権威も認めるWordPressのSEO適正

32

WordPress is a great choice

WordPress takes care of 80-90% of(the mechanics of)

Search Engine Optimization (SEO) (意訳)

WordPressを選ぶことは、非常に良い選択です。 なぜなら、WordPress は、SEOの手法の80%~90%に対応するように作られているからです。

Google検索エンジン開発部門責任者 Matt Cutts(マット・カッツ)

「WordCamp San Francisco 2009」での講演にて

Page 33: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

ソーシャル適性が高い

33

WordPressは

Page 34: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

ソーシャル関連のプラグインが豊富

34

SEO同様、豊富なプラグインによりソーシャルの強化・連携が可能

Facebook、Twitter のプラグインも豊富

Page 35: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

35

なので、ソーシャルメディアと検索エンジンを繋ぐ ハブとして利用しやすい

Page 36: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

スマホ(マルチデバイス)と相性がよい

36

WordPressは

Page 37: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

レスポンシブWebデザイン

37

Page 38: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

38

デバイスによるテーマ切り替え

Page 39: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

デバイスごとのキャッシュ対応も可能 (WP SiteManager)

39

Page 40: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

つまり、現在のWebサイトを取り囲む環境 (SEO、ソーシャル連携、 スマホ対応)に 適したCMSとして利用されています

40

Page 41: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

P r i m e S t r a t e g y C o . , L t d . W o r d P r e s s I n t e g r a t i o n D i v i s i o n

41

4.WordPressのカスタマイズ(開発)

Page 42: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのファイル構成

42

WordPress 3.6.1 日本語版のzipファイルを解凍

Page 43: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのファイル構成

43

WordPress 3.6.1 日本語版のzipファイルを解凍

管理画面

Page 44: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのファイル構成

44

WordPress 3.6.1 日本語版のzipファイルを解凍

プラグイン、テーマなど (ユーザ領域)

Page 45: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのファイル構成

45

WordPress 3.6.1 日本語版のzipファイルを解凍

プラグイン、テーマなど (ユーザ領域)

Page 46: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのファイル構成

46

WordPress 3.6.1 日本語版のzipファイルを解凍

コアファイル

Page 47: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのファイル構成

47

WordPress 3.6.1 日本語版のzipファイルを解凍

フロントエンドコントローラー(サイト表示時)

Page 48: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのファイル構成

48

WordPress 3.6.1 日本語版のzipファイルを解凍

設定ファイル

Page 49: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのサイト表示の流れ

49

(index.phpから表示完了まで)

index.php (設定ファイルwp-config.php)

WordPressコア(本体) プラグイン テーマ functions.php ページ種別ごとのテンプレート パーツテンプレート

Page 50: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

50

サイトの表示

Page 51: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressの管理画面の流れ

51

(wp-adminから表示完了まで)

wp-admin (設定ファイルwp-config.php)

WordPressコア(本体) プラグイン テーマ functions.php 管理画面の描画

Page 52: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

52

管理画面とサイトの表示

Page 53: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのサイト表示(管理画面)の開発領域

53

index.php(またはwp-admin) WordPressコア(本体) プラグイン テーマ functions.php ページ種別ごとのテンプレート パーツテンプレート

PHPプログラマー

Page 54: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのサイト表示の開発領域

54

index.php WordPressコア(本体) プラグイン テーマ functions.php ページ種別ごとのテンプレート パーツテンプレート

PHPプログラマーまたはWebデザイナー

Page 55: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

ページ種別ごとのテンプレート(メインテンプレート)とは?

55

トップページ(例) => front-page.php 個別ページ(例) => single.php 一覧ページ(例) => archive.php ※優先テンプレートがない場合はindex.php

(WordPressのテンプレート階層のルールによって優先的に選択されるテンプレート)

Page 56: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

パーツテンプレートとは?

56

ヘッダー(例) => header.php フッター(例) => footer.php サイドバー(例) => sidebar.php

(ページ種別にかかわらず共通化でき、メインテンプレートから呼び出すテンプレート)

Page 57: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

テンプレートタグとは?

57

記事のタイトルを出力する => the_title() header.phpを読み込む => get_header() サイトの基本情報を表示する => bloginfo()

(WordPress本体、プラグイン、functions.phpで定義されたテンプレート内で利用する

ためのPHPの関数またはメソッド)

Page 58: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

メインテンプレートの例

58

<?php get_header(); ?> <section id="contents"> <section id="malls-pickup"> <div class="malls-group"> <?php query_posts('posts_per_page=-1&post_type=page&orderby=menu_order&order=asc&post_parent=43'); if (have_posts()) : $count = 1; while (have_posts()) : the_post(); if ($count % 2 > 0 && $count != 1) : ?> </div><!-- .malls-group end --> <div class="malls-group"> <?php endif; ?> <article> <h1><a href="<?php the_permalink(); ?>"><?php the_title(); ?></a></h1> (略)

(トップページ表示のためのfront-page.php)

Page 59: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

パーツテンプレートの例

59

<!DOCTYPE HTML> <html dir="ltr" lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title><?php bloginfo('name'); ?></title> <link rel="apple-touch-icon" href="<?php bloginfo('template_url'); ?>/images/touch-icon.png" /> <link rel="shortcut icon" href="<?php bloginfo('template_url'); ?>/images/favicon.ico" /> <link rel="stylesheet" type="text/css" media="all" href="<?php bloginfo('stylesheet_url'); ?>" /> <!--[if lt IE 9]> <meta http-equiv="Imagetoolbar" content="no" /> <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script> <![endif]--> <?php wp_head(); ?> </head> (略)

(ヘッダー部分のパーツテンプレートheader.php)

Page 60: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

functions.phpとは1

60

functions.php(例) <?php // カスタムメニュー register_nav_menus( array( 'place_pc_global' => 'PCグローバル', 'place_sp_global' => 'SPグローバル', 'place_pc_utility' => 'PCユーティリティ', 'place_sp_utility' => 'SPユーティリティ', ) );

(テーマごとに機能の追加・変更やテンプレートタグを追加する関数ファイル)

Page 61: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

functions.phpとは2

61

functions.php(例) <?php // 数字を円貨幣のフォーマットに整形します。 function apt_convert_yen($yen) { $yen = mb_convert_kana($yen, 'n', 'UTF-8'); $yen = preg_replace('/[^0-9]/', '', $yen); if (is_numeric($yen)) { $yen = number_format($yen) . '円'; return $yen; } }

(テーマごとに機能の追加・変更やテンプレートタグを追加する関数ファイル)

Page 62: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

フックとは

62

(特定の関数やメソッドが実行されるタイミング(フックポイント)で

挙動を変更させたり、機能を追加させるためのWordPressの仕組み)

■フックポイント 記事の抜粋文の末尾が出力されるタイミング => excerpt_more メインテンプレートを選択するタイミング => template_redirect 管理画面の基本メニューの構造が決定するタイミング => admin_menu

Page 63: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

functions.phpとは3

63

functions.php(例) <?php // 抜粋の文末を変更します。 function apt_excerpt_more($more) { return '...'; } add_filter('excerpt_more', 'apt_excerpt_more');

(テーマごとに機能の追加・変更やテンプレートタグを追加する関数ファイル)

Page 64: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

functions.phpとは4

64

functions.php(例) <?php // 検索ワードが未入力または0の場合にsearch.phpをテンプレートとして使用する function apt_search_redirect() { global $wp_query; $wp_query->is_search = true; $wp_query->is_home = false; if (file_exists(TEMPLATEPATH . '/search.php')) { include(TEMPLATEPATH . '/search.php'); } exit; } if (isset($_GET['s']) && $_GET['s'] == false) { add_action('template_redirect', 'apt_search_redirect'); }

(テーマごとに機能の追加・変更やテンプレートタグを追加する関数ファイル)

Page 65: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

プラグインとは

65

fb_admins.php(プラグイン例) <?php /* Plugin Name: Fb admins Plugin URI: http://www.prime-strategy.co.jp/ Description: Facebook のfb:adminsパラメータを管理画面で設定できるようにします。 Author: Prime Strategy Co.,Ltd. Version: 1.0 Author URI: http://www.prime-strategy.co.jp/ */ function add_fb_admins_menu() { add_options_page('Fb admins 設定', 'Fb admins', 'manage_options', 'fb-admins.php', 'fb_admins_page' ); } add_action('admin_menu', 'add_fb_admins_menu'); (略)

(テーマに係わらず機能の追加・変更やテンプレートタグを追加するモジュール)

Page 66: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

参考書籍1

66

(出版社:ソフトバンク クリエイティブ株式会社)

2012年3月30日発売

本格ビジネスサイトを作りながら学ぶ

WordPressの教科書

Amazon 「IT・コンピュータ」カテゴリ1位(2012年6月)

2万部突破。重版(8刷)配本中。 (2013年9月)

Page 67: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

参考書籍2

67

(出版社:ソフトバンク クリエイティブ株式会社)

2013年8月29日発売

本格ビジネスサイトを作りながら学ぶ

WordPressの教科書2 [スマートフォン対応サイト編]

Amazon 総合ランキング1位(2012年9月3日)

Page 68: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

公式ドキュメント

68

WordPress Codex 日本語版 http://wpdocs.sourceforge.jp/

Page 69: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

P r i m e S t r a t e g y C o . , L t d . W o r d P r e s s I n t e g r a t i o n D i v i s i o n

69

5.WordPressのパフォーマンス

Page 70: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのパフォーマンスを改善する

70

某VPSスモールインスタンスで何もしない状態だと

WordPress

1.ロード時間 800ms

2.リクエスト数 1.2リクエスト/秒

Page 71: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのパフォーマンスを改善する

71

ページキャッシュを使わないでどこまでいけるか

WordPress

スケールアップ(某VPSハ

イCPUインスタンスに変更)で約4倍

Page 72: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのパフォーマンスを改善する

72

ページキャッシュを使わないでどこまでいけるか

WordPress

スケールアップ(某VPSハ

イCPUインスタンスに変更)で約4倍

APC(PHPアクセラレータ)導入で約1.5倍

Page 73: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのパフォーマンスを改善する

73

ページキャッシュを使わないでどこまでいけるか

WordPress

スケールアップ(某VPSハ

イCPUインスタンスに変更)で約4倍

APC(PHPアクセラレータ)導入で約1.5倍

MySQLのクエリキャッシュ導入で約1.1倍

Page 74: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのパフォーマンスを改善する

74

ページキャッシュを使わないでどこまでいけるか

WordPress

スケールアップ(某VPSハ

イCPUインスタンスに変更)で約4倍

APC(PHPアクセラレータ)導入で約1.5倍

MySQLのクエリキャッシュ導入で約1.1倍

翻訳キャッシュ(001 Prime Strategy Translate

Accelarator)導入で約1.5倍

Page 75: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのパフォーマンスを改善する

75

ページキャッシュを使わないでどこまでいけるか

WordPress

スケールアップ(某VPSハ

イCPUインスタンスに変更)で約4.5倍

APC(PHPアクセラレータ)導入で約1.5倍

MySQLのクエリキャッシュ導入で約1.3倍

翻訳キャッシュ(001 Prime Strategy Translate

Accelarator)導入で約1.5倍

ページ圧縮(mod_deflate)導入で約1.1倍

Page 76: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのパフォーマンスを改善する

76

ページキャッシュを使わないでどこまでいけるか

WordPress

1.ロード時間 80ms

2.リクエスト数 20リクエスト/秒

Page 77: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのパフォーマンスを改善する

77

ページキャッシュを導入する

WordPress

1.ロード時間 15ms

2.リクエスト数 150リクエスト/秒

WP SiteManagerを導入し

てページキャッシュを有効にすると

Page 78: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

WordPressのパフォーマンスを改善する

78

複数台構成にすると

Web#1 Web#3

DB#Master

Web#Admin Web#2 Web#4

lsyncd

1.ロード時間 15ms

2.リクエスト数 600リクエスト/秒

Page 79: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

「とはいっても、ちょっと技術的にもコスト的にも 敷居が高いよなぁ」という声も

79

Page 80: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

そこで、ブラウザだけでスケール可能な 「Windows Azure Web サイト」を紹介します

80

Page 81: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

Windows Azure上でWordPressを動かすには?

81

「Webサイト」または「仮想マシン」

Page 82: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

Windows Azure上でWordPressを動かすには?

82

「仮想マシン」の場合

1.Windows ServerまたはLinuxでPHP+MySQL環境を構築してWordPressをインストール

2.自由に構築できる反面、サーバの構築・管理が煩雑

3.最初からそれなりにコストがかかる

Page 83: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

Windows Azure Webサイトとは?

83

レンタルサーバ感覚のクラウドサービス

クリックして数ステップでWebサイト発行が完了

Page 84: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

Windows Azure Webサイトとは?

84

発行後すぐにWebサーバ、PHP、MySQL、FTPなどが利用可能に

もちろんWordPressもインストール可能

Page 85: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

Windows Azure Webサイトとは?

85

レンタルサーバ感覚なので

1.WordPressのインストールはFTPでアップロードするだけ 2.自由にサーバ構築できない反面、管理が簡単 3.コストもレンタルサーバ感覚

Page 86: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

Windows Azure Webサイトとは?

86

クラウドサービスなので

1.サービスのほとんどがブラウザの操作で完結するのでとにかく管理が楽

2.世界3カ所に地理冗長されるので壊れる心配がない 3.MySQL(ClearDB)の自動バックアップやサーバ監

視などクラウドならではのサービスも充実

Page 87: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

Windows Azure Webサイトとは?

87

クラウドサービスなので

4.従量課金で開発時やローンチ直後など利用頻度が低いときは無料もしくは低額

5.ブラウザの管理画面だけから無停止でスケールアップ、スケールアウトが可能

6.オートスケールの設定も可能

Page 88: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

Windows Azure Webサイトとは?

88

クラウドサービスなので

4.従量課金で開発時やローンチ直後など利用頻度が低いときは無料もしくは低額

5.ブラウザの管理画面だけから無停止でスケールアップ、スケールアウトが可能

6.オートスケールの設定も可能

Page 89: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

Windows Azure Webサイトとは?

89

ちょっと大きい規模の従来のサーバ構成

Web#1 Web#3

DB#Master

Web#Admin Web#2 Web#4

lsyncd

DB#Master

Replication

Web#Admin

lsyncd

Page 90: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

Windows Azure Webサイトとは?

90

これだけ簡単に

Windows Azure Webサイト

ClearDB

Page 91: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

Windows Azure Webサイトを検証する

91

実際にWordPressをインストールしてブラウザだけでどこまでスケールできるかやってみました。

Page 92: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

92

Windows Azure Webサイトを検証する

Page 93: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

93

Windows Azure Webサイトを検証する

Page 94: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

Windows Azure Webサイトを検証する(無料モード)

94

Webサイト

WordPress

でのキャッシュ

ClearDB

同時接続

瞬間最大アクセス/秒

想定PV(月間)

想定コスト(月間)

スタートアップ時

無料モード

なし 無料 4 4 10,000

0円(1年間のみ)

キャッシュ利用

無料モード

○ 無料

4 14 20,000 0円(1年間のみ)

Page 95: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

Windows Azure Webサイトを検証する(共有モード&キャッシュなし)

95

Webサイト

WordPress

でのキャッシュ

ClearDB

同時接続

瞬間最大アクセス/秒

想定PV(月間)

想定コスト(月間)

共有に拡張

共有(1インスタンス)

なし 無料 4 4 40,000

1,000円

(1年間のみ)

インスタンス2つに

共有(2インスタンス)

なし 無料

4 4 80,000 2,000円

(1年間のみ)

ClearDB

をアップグレード

共有(2インスタンス)

なし

月額10ドル

15 15 300,000 3,600円

Page 96: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

Windows Azure Webサイトを検証する(共有モード&キャッシュあり)

96

Webサイト

WordPress

でのキャッシュ

ClearDB

同時接続

瞬間最大アクセス/秒

想定PV(月間)

想定コスト(月間)

キャッシュ有効

共有(1インスタンス)

○ 無料 4 14 160,000

1,300円

(1年間のみ)

ClearDBを

アップグレード

共有(1インスタンス)

○ 月額10ドル

15 14 160,000 3,500円

インスタンス3つに

共有(3インスタンス)

○ 月額10ドル

15

33 1,000,000

6,000円

ClearDBを

アップグレード

共有(3インスタンス)

○ 月額50ドル

30 83 3,000,000

14,000円

ClearDBを

アップグレード

共有(3インスタンス)

○ 月額100ドル

40 105 5,000,000

23,000円

Page 97: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

Windows Azure Webサイトを検証する(標準モード&キャッシュあり)

97

Webサイト

WordPress

でのキャッシュ

ClearDB

同時接続

瞬間最大アクセス/秒

想定PV(月間)

想定コスト(月間)

標準モードに

標準(1インスタンス)

○ 月額100ドル

40 24 2,500,000

21,000円

(1年間のみ)

インスタンス4つに

標準(4インスタンス)

○ 月額100ドル

40 95 10,000,000

56,000円

オートスケール利用時

標準(1~4インスタンス)

○ 月額100ドル

40 95 10,000,000

40,000円

Page 98: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

ということで

98

Page 99: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

99

「WordPressを自信をもっておすすめします。」

Page 100: PHP開発者がWordPressをカスタマイズ(開発) す …...PHP開発者がWordPressをカスタマイズ(開発) する際に知っておきたいWordPressの基礎 プライム・ストラテジー株式会社

100

ご清聴ありがとうございました。