aka) Author: Christian Davén Version: 2.0 Author URI: http://www.daven.se/usefulstuff/ */ # adds an options page to the options menu function SUP_add_options_page() { if(function_exists("add_options_page")) add_options_page("Smart Update Pinger", "Smart Update Pinger", 5, basename(__FILE__), "SUP_show_options_page"); } # shows the options page function SUP_show_options_page() { $ping = get_option("SUP_ping"); $uris = get_option("ping_sites"); $pingservicesnow = "今すぐ ping を送信!"; if(isset($_POST["ping"]) && $_POST["ping"] == $pingservicesnow) { SUP_log("手動で ping を送信中 ..."); SUP_ping_services(); } elseif(isset($_POST["submit"])) { $uris = $_POST["uris"]; $ping = 0; if($_POST["ping"] == 1) $ping = 1; update_option("SUP_ping", $ping); update_option("ping_sites", $uris); echo '

設定を保存しました.

'; } $checked = ''; if($ping == 1) $checked = 'checked="checked"'; echo '

ping 送信先のサーバ

以下に登録されている ping サーバへは記事を投稿する際,自動的に ping 送信や更新通知がなされます。WordPress が通常行うような,以前書いた記事の編集時ではありません

注意: このリストは オリジナルのアップデートサービスリストと同期します。.

複数サーバを登録する際は改行で URI を分けて下さい

Ping 送信ログ

このプラグインのログです(下に行くほど新しいログです)

'.SUP_get_last_log_entries(20).'

'; } # telling WordPress to ping if the post is new, but not if it's just been edited function SUP_ping_if_new($id) { global $wpdb, $post_title; if(get_option('SUP_ping') == 1 and get_option('ping_sites') != "") { # fetches data directly from database; the function "get_post" is cached, # and using it here will get the post as is was before the last save $row = mysql_fetch_array(mysql_query( "SELECT post_date,post_modified FROM $wpdb->posts WHERE id=$id")); # if time when created equals time when modified it is a new post, # otherwise the author has edited/modified it if($row["post_date"] == $row["post_modified"]) { if($post_title) SUP_log("Pinging services (new post: “".$post_title."”) ..."); else SUP_log("Pinging services (新規の記事の投稿) ..."); SUP_ping_services(); # Try commenting the line above, and uncommenting this line below # if pinging seems to be out of order. Please notify the author if it helps! # generic_ping(); } else { if($post_title) SUP_log("NOT pinging services (“".$post_title."” の設定が変更されました)"); else SUP_log("NOT pinging services (記事が編集されました)"); } } else SUP_log("NOT pinging services (管理者が ping 送信を無効にしています)"); } # More or less a copy of WP's "generic_ping" from functions.php, # but uses another function to send the actual XML-RPC messages. function SUP_ping_services() { $services = get_settings('ping_sites'); $services = preg_replace("|(\s)+|", '$1', $services); // Kill dupe lines $services = trim($services); if ( '' != $services ) { $services = explode("\n", $services); foreach ($services as $service) SUP_send_xmlrpc($service); } } # A slightly modified version of the WordPress built-in ping functionality ("weblog_ping" in functions.php). # This one uses correct extendedPing format (WP does not), and logs response from service. function SUP_send_xmlrpc($server = '', $path = '') { global $wp_version; include_once (ABSPATH . WPINC . '/class-IXR.php'); // using a timeout of 3 seconds should be enough to cover slow servers $client = new IXR_Client($server, ((!strlen(trim($path)) || ('/' == $path)) ? false : $path)); $client->timeout = 3; $client->useragent .= ' -- WordPress/'.$wp_version; // when set to true, this outputs debug messages by itself $client->debug = false; $home = trailingslashit( get_option('home') ); # the extendedPing format should be "blog name", "blog url", "check url" (whatever that is), and "feed url", # but it would seem as if the standard has been mixed up. it's therefore best to repeat the feed url. if($client->query('weblogUpdates.extendedPing', get_settings('blogname'), $home, get_bloginfo('rss2_url'), get_bloginfo('rss2_url'))) { SUP_log("- ".$server." への ping 送信が成功しました (拡張フォーマット)"); } else { # pinging was unsuccessful, trying regular ping format if($client->query('weblogUpdates.ping', get_settings('blogname'), $home)) { SUP_log("- ".$server." への ping 送信が成功しました"); } else { SUP_log("- ".$server." への ping 送信が失敗しました。 以下のエラーメッセージが返されました: “".$client->error->message."”"); } } } $post_title = ""; # Receives the title of the post from a filter below function SUP_post_title($title) { global $post_title; $post_title = $title; return $title; } # ----- # Log stuff $logfile = ABSPATH."wp-content/plugins/smart-update-pinger/smart-update-pinger.log"; # for debugging function SUP_log($line) { global $logfile; $fh = @fopen($logfile, "a"); @fwrite($fh, strftime("%D %T")."\t$line\n"); @fclose($fh); } function SUP_get_last_log_entries($num) { global $logfile; $lines = @file($logfile); if($lines === false) return "Error reading log file (".$logfile."). This could mean that the wp-content directory is write-protected and no log data can be saved, that you have manually removed the log file, or that you have recently upgraded the plugin."; else { $lines = array_slice($lines, count($lines) - $num); $msg = ""; foreach($lines as $line) $msg .= trim($line)."
"; return $msg; } } # ----- # adds a filter to receive the title of the post before publishing add_filter("title_save_pre", "SUP_post_title"); # adds some hooks # shows the options in the administration panel add_action("admin_menu", "SUP_add_options_page"); # calls SUP_ping whenever a post is published add_action("publish_post", "SUP_ping_if_new"); # calls SUP_ping_draft when changing the status from private/draft to published # add_action("private_to_published', 'SUP_ping_draft'); # removes the "WordPress official" pinging hook remove_action("publish_post", "generic_ping"); # activates pinging if setting doesn't exist in database yet # (before the user has changed the settings the first time) if(get_option("SUP_ping") === false) { update_option("SUP_ping", 1); } ?> ホームページ成功への道はすべてここから始まる。目的・目標の明確化
このサイトはJavaScriptがオンになっていないと正常に表示されません

ホームページ成功への道はすべてここから始まる。目的・目標の明確化

アーカイブ:2012年07月19日  カテゴリーディレクターの仕事  タグ  タグ:この記事は8分程で読めます。

実際にホームページを作り始める前に、プロのWEBクリエイター達がもっとも意識する点は、おそらく【Webサイトを制作する目的・目標を明確にすること】だと思います。なぜこの目的・目標の明確化をもっとも意識するのか。それは目的・目標こそがホームページの成功を根底から左右させるからです。

今日はそんな目的・目標の大切さや、明確にする方法を紹介させていただきます。あなたがクライアントのために作ったWEBサイトには明確な目的・目標がありますか?新人webディレクター・デザイナーには特にこのことを考えていただきたいと思います。

人は目的や目標を自然に考えている

ほとんどの人は、目的や目標を自然に考えながら生活をしています。
例えば鏡の前で『夏までにやせなきゃ!こんな体、彼氏に見せられない!』と思った場合。人は『彼氏にもっと好きになってもらうために、美しく引き締まった体を作り、キレイだと思ってもらう』という目的を作り、どんな手段を用いて目標を設定すれば、目的を達成させることができるかを自然と考えることができます。

『毎日ジムに通って夏までに体重を10キロ減らす』『毎朝2時間走って夏までに体重を5キロ減らす』『お風呂上りに1時間体操をして夏までに体重を3キロ減らす』『一日の摂取カロリーを1000以下にして夏までに体重を6キロ減らす』など、目的を達成させることが出来そうなさまざまな候補を頭の中でリスト化し、自分の体力や時間、お金やヤル気などと相談しながら、今の自分にできる最適な目標を決定します。

目的・目標のないWEBサイトは必ず失敗する

上記の項目で、成功するか失敗するかは別として『人は目的や目標を自然と考えることが出来ている』と紹介しましたが、人は自分のことではなくなると、それが出来なくなることがあるようです。WEBサイトの制作もその1つで、明確な目的・目標を持たずになんとなくHPを作ろうとしてしまう人がいます。私自身そういったクライアントを何人か見てきました。ですが、目的・目標を持たないままWEBサイトを制作してしまうと、そのサイトは必ず失敗してしまいます。

WEBサイトというのは、あくまでも目的を達成させるためのツールの1つに過ぎません。なので目的が無ければそもそもWEBサイトを作る必要がないんです。これはチラシやパンフレットなどのほかのツールも同じです。目的があって初めて目的を達成させるためのツールを私たちは選択します。先ほどの例で言えば、ジムに通うとか毎朝走るというのがそれに当たります。

WEBディレクターは明確な目的・目標を持たないクライアントに、ヒアリングを通して目的・目標を見つける手助けをしてあげる必要があります。また目的が決まっているのであれば、その企業の体力や時間などを考慮し、目的を達成させるために最適なツールを提案してあげる必要もあります。

明確な目的・目標のないWEBサイトは必ず失敗してしまいますと言いましたが、正確には成功か失敗かを判断することが出来なくなるということです。目的・目標がなければ、何が成功なのかという基準が作れませんからね。

そもそも目的と目標って何が違うの?

目的と目標の違いが分からない人のために、この点について少し触れておきます。私はこの2つの違いを以下のように分けて考えています。

目的とは『最終的に達成したい事』。先ほど例で言うと『彼氏にもっと好きになってもらうために、美しく引き締まった体を作り、キレイだと思ってもらう』というのが目的です。目的という漢字には『的』という字が使われています。この『的』を、私は目指している場所と捉えています。
目標とは『目的を達成するために、やるべき行動を具体的に示したもの』。先ほどの例で言うと『毎日ジムに通って夏までに体重を10キロ減らす』というのが目標です。目標という漢字には『標』という字が使われています。この『標』を、私は目的を成功へと導く目印と捉えています。

目的と目標の違いをわかりやすく解説してくれている記事を見つけましたので、リンクしておきます。[「目標」と「目的」の違い――あなたが働いている意味は何ですか?]

企業ホームページの目的・目標は?

ホームページの目的・目標は、企業によってマチマチですが、どんな企業であってもコストを下げるor売り上げを上げるかして、会社の利益に高めるという事だけは変わらないことだと思います。
そのため、ホームページの目的を考えるときは『利益を高めるために、WEBサイトで○○を作り、誰にどんなアクションをとってもらう』といった形で目的を決めることが出来るんじゃないでしょうか。

ホームページの目的例

例えば、以下のように目的を決めることが出来るかと思います。

  • 利益を高めるために、WEBサイトで商品を紹介するカタログコンテンツを作り、見込み客に商品の特徴や良さを知ってもらう
  • 利益を高めるために、WEBサイトで来店しなくても商品を購入できるショッピングコンテンツを作り、地方のお客様にネットショップで直接商品を購入してもらう
  • 利益を高めるために、WEBサイトでブランドの特徴や良さを伝えるコンテンツを作り、ターゲットユーザーにブランドの特徴や良さを他のユーザーに広めてもらう
  • 利益を高めるために、WEBサイトで新規客を対象にしたクーポンコンテンツを作り、新規客に気軽に・お得にお店を利用してもらう

目的は出来るだけ明確に設定することが大切です。最低でも上記以上に明確な目的を設定しましょう。
また『利益を高めるために、WEBサイトを作り、訪れたユーザーにサイトを見てもらう』という目的ではもちろん駄目です。WEBサイトを作ることは目的にはなりません。先ほども話しましたがWEBサイトは『目的を達成させるためのツールの1つ』です。そのため、WEBサイトを作ることそのものが目的になることは基本的にありえません。

『利益を高めるために、WEBサイトで○○を作り、誰にどんなアクションをとってもらう』という雛形以外にも、基本は似ていますが『○○のために、○○を伝え、誰にどんなアクションをとってもらう』という形で考えることもできます。
例えば『献血の必要性を伝えるために、輸血で救われた人たちの思いを伝え、献血をしたことの無い人たちに献血をしてもらう』といった感じです。このように考えたほうが、WEBサイト以外のツールも候補となるときは使いやすいかもしれません。

ホームページの目標例

上記の項目で紹介した4つの目的に対して、以下のように目標を設定することで、目的を成功へと導くことが出来ます。目標を決めるときは『WEBサイトを作り、いつまでに、何を、どうする』という形で考えると良いかと思います。

  • WEBサイトを作り、サイト公開後1ヶ月までに、商品ページのページビュー数を、10000回以上にする
  • WEBサイトを作り、8月31日までに、商品の売り上げを、50万円にする
  • WEBサイトを作り、リニューアル後3ヶ月までに、ツイッターでのつぶやき数を、5000回以上にする
  • WEBサイトを作り、今期の終わりまでに、HPからの予約数を、50組にする。

目標を決めるときは、体力や時間、お金やヤル気などと相談しながら決めることが大切です。目標を高く設定すればするほど、体力やお金を沢山使うことになります。WEBディレクターは予算に合わせた最大限の提案が出来るように心がけるようにしましょう。

また、目的に対して誤った目標を設定してしまえば、目標は達成できたとしても、目的が達成できないということがあります。そのため目標の設定は大変重要で、慎重に行わなければなりません。この点については、そのうち詳しく紹介したいと思います。

目的と目標を制作に関わる人やクライアントの間で共有する


最後に、webディレクターはWEBサイトを実際に作り始める前に、目的・目標を制作に関わる人やクライアントの間で共有するようにしましょう。WEBサイトを通して実現したい目的と、目的を成功へと導く目標を、関係者間で共有することで制作が始まったときに、もしも方針がブレそうになったとしても立ち返りやすくなります。制作をスムーズに進行させるためにもWEBディレクターはこの点にも注意を払う必要があります。

もしクライアントの目的や目標が理解できなかったり、曖昧だった時は、プロとして自分の意見を伝えたり、クライアントの意図を何度も伺って確認することが大切です。目的・目標に認識のずれが生じることは大変危険です。認識にずれが生じたまま制作が進んでしまえば、クライアントの求めていない間違ったWEBサイトが生まれてしまいます。
こうならないためにも、目的・目標は曖昧にせずに何度も話し合いお互いに理解できるようにしましょう。もしWEBサイトが失敗に終わったとしても、何度も話を伺った姿勢が評価され、継続して取引していただけたりもしますからね。

では、このへんで。