tag:crieit.net,2005:https://crieit.net/tags/Qiita/feed 「Qiita」の記事 - Crieit Crieitでタグ「Qiita」に投稿された最近の記事 2022-01-20T19:00:13+09:00 https://crieit.net/tags/Qiita/feed tag:crieit.net,2005:PublicArticle/17948 2022-01-20T19:00:13+09:00 2022-01-20T19:00:13+09:00 https://crieit.net/posts/Dart-61e932ada423e Dartを使った大規模なアプリ開発 <p>こんにちは、Quireです。</p> <p><a target="_blank" rel="nofollow noopener" href="https://quire.io">Quire</a>は、Dartで開発された初めてのWebアプリケーションではありませんが、クライアントとサーバーの両方でDartをふんだんに使ったものとしては、初めてかもしれません。</p> <p><img src="https://storage.googleapis.com/zenn-user-upload/1a086b990119-20220120.png" alt="" /></p> <p>動作の軽い、徹底して階層構造のタスク管理ツールです。このプロジェクトはDartコードで合計53992行、1620 KB。コミュニティーからのオープンソース ライブラリも使っています。</p> <h1 id="私たちについて"><a href="#%E7%A7%81%E3%81%9F%E3%81%A1%E3%81%AB%E3%81%A4%E3%81%84%E3%81%A6">私たちについて</a></h1> <p>このプロジェクトを開始するまで、私たちはRikuloというDartファンの集まりでした。Rikuloはこれまで、UIフレームワークやUIライブラリ、Webサーバー、メッセージサーバー、DBクライアントなどのDartライブラリをリリースしています。<br /> Dartが2011年に初めてリリースされたとき、すぐに将来性を感じ、さっそく小規模のプロジェクトに着手。その後、ほとんどDartで書かれた大規模アプリの開発へと進みました。今回はそのときの経験をお話しします。Dartによる開発に興味を持っていただければ幸いです。</p> <h1 id="なぜDartか"><a href="#%E3%81%AA%E3%81%9CDart%E3%81%8B">なぜDartか</a></h1> <p>私たちがDartを選んだ理由はたくさんありますが、以下に大きなものを挙げてみます。<br /> - 強く型付けされていて、無数の小さなミスを防ぐことができる。公式IDEのDart Editorは、タイプミスへの即時フィードバックやオートコンプリート機能を備えており、トラッキングも容易。<br /> - 継承がクラスベースで、プロトタイプベースよりも直感的に使える。<br /> - クライアントとサーバーの両方で同じ言語が使えて、データモデルやコードベースを共有できる。<br /> - JavaScriptの問題点をほぼ解消。完全ではないが、以前にあった問題の99%には対応している。<br /> - JavaScript Harmonyで人気の特徴をいくつか備えている。例えばFuture(Promise)パターン、矢印関数など。<br /> - 強力なチームの後ろ盾があり、ハイクオリティーな公式ライブラリや使いやすいAPIを利用できる。まだ開発途上ながら、仕様はすでにかなり安定している。<br /> - サーバーサイドではマルチスレッドではなくイベントループ方式で、好みだった。<br /> - JavaScriptへのコンパイル時にTree Shakingできる(下記参照)。</p> <h5 id="もちろんデメリットもあります。以下に挙げてみます。"><a href="#%E3%82%82%E3%81%A1%E3%82%8D%E3%82%93%E3%83%87%E3%83%A1%E3%83%AA%E3%83%83%E3%83%88%E3%82%82%E3%81%82%E3%82%8A%E3%81%BE%E3%81%99%E3%80%82%E4%BB%A5%E4%B8%8B%E3%81%AB%E6%8C%99%E3%81%92%E3%81%A6%E3%81%BF%E3%81%BE%E3%81%99%E3%80%82">もちろんデメリットもあります。以下に挙げてみます。</a></h5> <ul> <li>コミュニティーがJavaScriptよりも圧倒的に小さい。</li> <li>DartとJavaScript間の通信が自明でない。</li> <li>強い型付けなので、APIのPolyfillが面倒。</li> <li>Dart Editorの性能が(今のところ)大規模プロジェクトに適さない。</li> </ul> <p>強い型のサポートにより、書くプロセスがJavaScriptよりもずっとロバストです。また、Javaよりもシンプルで、Vanilla JavaScriptと比べてもシンプルなことがあります(関数の書き方など)。全体的にDartは扱いやすい言語ですが、以下のような例外はあります。</p> <ul> <li>コンストラクタのボディよりも先にイニシャライザでFinalフィールドを初期化する必要がある。</li> <li>ミックスインの仕様が使いにくく、2.0まで改善されそうにない。</li> <li>ジェネリック型パラメータがクラスにしかなく、関数宣言にない。(そのためコンパイラの負荷が増す)。</li> </ul> <h2 id="クライアントサイド"><a href="#%E3%82%AF%E3%83%A9%E3%82%A4%E3%82%A2%E3%83%B3%E3%83%88%E3%82%B5%E3%82%A4%E3%83%89">クライアントサイド</a></h2> <p>Dart VMがChromeに統合される日まで、JavaScriptにコンパイルして作成することになります。JavaScriptにコンパイルする言語はたくさんありますが、Dartには以下のような独自のメリットがあります。</p> <ul> <li>私たちは開発時、Dart VMを内蔵したChromiumベースのブラウザー、DartiumでDartをネイティブに実行している。このイテレーションではコンパイルが不要で、スムーズに進めることができる。</li> <li>テストとプロダクションの段階でJavaScriptにコンパイルし、すべてのメジャーなブラウザーで実行する。このとき使用するコンパイラがTree Shakingを行い、不要なコードを除去するため、JavaScriptのコードサイズを小さくできる。</li> </ul> <h3 id="サーバーサイド"><a href="#%E3%82%B5%E3%83%BC%E3%83%90%E3%83%BC%E3%82%B5%E3%82%A4%E3%83%89">サーバーサイド</a></h3> <p>サーバーサイドについてはあまりコミュニティーで話題になりませんが、私たちは以下の理由から、Dartはサーバーサイドのプログラミング言語に入ると考えています。</p> <ul> <li>Webサービスは本質的に非同期なため、イベントループ方式と相性がいい(マルチスレッドと比べて)。</li> <li>クライアントサイドよりもサーバーサイドのほうが、よりロバストで安全なコードが必要。強い型付けの言語はこの点において有利。</li> </ul> <h1 id="サポートライブラリ"><a href="#%E3%82%B5%E3%83%9D%E3%83%BC%E3%83%88%E3%83%A9%E3%82%A4%E3%83%96%E3%83%A9%E3%83%AA">サポートライブラリ</a></h1> <p>Quireは約30のライブラリをインポートしています。そのうち10ライブラリはコミュニティーからで、残りはDartからリリースされたものです。Dartに詳しい方ならAngularDARTとPolymer.dartがあると思うかもしれませんが、実はどちらも使っていません。</p> <h5><a target="_blank" rel="nofollow noopener" href="https://angulardart.org/">AngularDART</a>を使わない理由は、以下のとおりです。</h5> <ul> <li>DOMを細かく制御したい。</li> <li>私たちはクライアント構造の構築に独自のアーキテクチャガイドラインを使用しており、そのパラダイムがAngularのロジックと異なる。</li> <li>AngularDARTについて調べたとき、コンパイルされたJavaScriptのコードサイズにかなりのオーバーヘッドが生じた。ただし、これはその後かなり改善された。</li> </ul> <h5 id="私たちは以下の理由から、Polymer.dartも使っていません。"><a href="#%E7%A7%81%E3%81%9F%E3%81%A1%E3%81%AF%E4%BB%A5%E4%B8%8B%E3%81%AE%E7%90%86%E7%94%B1%E3%81%8B%E3%82%89%E3%80%81Polymer.dart%E3%82%82%E4%BD%BF%E3%81%A3%E3%81%A6%E3%81%84%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82">私たちは以下の理由から、Polymer.dartも使っていません。</a></h5> <ul> <li>カプセル化とイベント リターゲティングのため、ShadowDOMはBootstrapのようなセレクター指向のフレームワークと併用できない。</li> <li>ShadowDOMの外部からスタイルを適用できない。サードパーティーのコンポーネントセットがPolymerで作成されている場合、ユーザーが見た目や感じを変えることは不可能に近い。(更新:2013年12月時点で、内部のスタイルを外部から変更可能。<a target="_blank" rel="nofollow noopener" href="http://www.html5rocks.com/en/tutorials/webcomponents/shadowdom-201/#toc-style-cat-hat">Shadow DOM 201</a>を参照。)</li> </ul> <h3 id="DQuery&Bootjack"><a href="#DQuery%EF%BC%86Bootjack">DQuery&Bootjack</a></h3> <p>私たちのクライアントサイド スタックの基盤は、Rikuloリリースのオープンソース プロジェクト、DQueryとBootjackです。<br /> - <a target="_blank" rel="nofollow noopener" href="https://github.com/rikulo/dquery">DQuery</a>はjQueryの一部、特にイベントデリゲートの仕組みの部分をDartに移植したものです。<br /> - <a target="_blank" rel="nofollow noopener" href="https://github.com/rikulo/bootjack">Bootjack</a>はBootstrap 3の完全な移植で、CSS およびAPIとほぼ同じです。</p> <p>このようにアプリケーション スタックを構築して、JavaScriptについて知っていること、できることを活用しています。</p> <h3 id="Stream"><a href="#Stream">Stream</a></h3> <p>私たちのWebサーバーは、Dartのみで書かれ、ルーティング、フィルター、サーバーサイドMVCなどを備えたStreamです。イベントループ方式とシームレスに連携して動作します。リクエストハンドラーも、ノンブロッキングのルーチンをつなげるだけで書くことができ、従来のマルチスレッド方式よりも生産的かつ快適に仕事ができます。私たちは、Webサービスをスケールし、nginxでHTTPSを処理し、Streamにリクエストをデリゲートしたりもしています。このアーキテクチャによりDart VMを個別にSpawn/Despawnでき、サーバーのアップグレードもユーザーの使用を妨げずに実施できます。</p> <h1 id="終わりに"><a href="#%E7%B5%82%E3%82%8F%E3%82%8A%E3%81%AB">終わりに</a></h1> <p>Dartは使い勝手の良い言語です。この記事がDartコミュニティー成長の一助となることを願っています。最後に、Dartで何ができるか興味のある方は、ぜひ<a target="_blank" rel="nofollow noopener" href="https://quire.io">Quire</a>を試してみてください。</p> uniyeh tag:crieit.net,2005:PublicArticle/14791 2019-02-09T15:50:38+09:00 2019-02-09T15:51:43+09:00 https://crieit.net/posts/Qiita-Pocket QiitaにはてなブックマークとPocketボタンを設置するためのスクリプトを作成してみた <p>Qiitaの記事にもはてなブックマークとPocketのボタンが欲しいですよね。<br /> そこで、それらのボタンと同じ機能を持つリンクを生成するためのJavaScriptスクリプトを書きました。<br /> Qiitaの記事編集画面で開発者用ツールを開き、以下のJavaScriptをコピペして実行して下さい。<br /> 実行すると結果がクリップボードにコピーされます。</p> <pre><code class="javascript">const userId = Qiita.user.url_name const itemId = window.location.href.split('/').splice(-2,1)[0] const hatebuURL = `//b.hatena.ne.jp/add?mode=confirm&url=https://qiita.com/${userId}/items/${itemId}` const pocketURL = `//getpocket.com/edit?url=https://qiita.com/${userId}/items/${itemId}` const htmlToElement = (html)=> { var template = document.createElement('template'); html = html.trim(); // Never return a text node of whitespace as the result template.innerHTML = html; return template.content.firstChild; } const copyToClipboard = str => { if(!str || typeof(str) != "string") { return ""; } //elmはtextareaノード var elm =htmlToElement("<textarea id=\"tmp_copy\" style=\"position:fixed;right:100vw;font-size:16px;\" readonly=\"readonly\">" + str + "</textarea>") //strを含んだtextareaをbodyタグの末尾に設置 document.body.appendChild(elm); //select()でtextarea内の文字を選択 elm.select(); //rangeでtextarea内の文字を選択 var range = document.createRange(); range.selectNodeContents(elm); var sel = window.getSelection(); sel.removeAllRanges(); sel.addRange(range); elm.setSelectionRange(0, 999999); //execCommandを実施 document.execCommand("copy"); //textareaを削除 document.body.removeChild(elm); }; copyToClipboard(`## はてなブックマーク・Pocketはこちらから [はてなブックマークに追加](${hatebuURL}) [Pocketに追加](${pocketURL})`) alert('コピーしました。') </code></pre> <p>コピーされた内容をQiitaのエディターの一番下に貼り付けて下さい。<br /> このようになります。</p> <h2 id="はてなブックマーク・Pocketはこちらから"><a href="#%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%83%E3%82%AF%E3%83%9E%E3%83%BC%E3%82%AF%E3%83%BBPocket%E3%81%AF%E3%81%93%E3%81%A1%E3%82%89%E3%81%8B%E3%82%89">はてなブックマーク・Pocketはこちらから</a></h2> <p><a target="_blank" rel="nofollow noopener" href="//b.hatena.ne.jp/add?mode=confirm&url=https://qiita.com/ToshioAkaneya/items/44eb377f27f55e21e626">はてなブックマークに追加</a><br /> <a target="_blank" rel="nofollow noopener" href="//getpocket.com/edit?url=https://qiita.com/ToshioAkaneya/items/44eb377f27f55e21e626">Pocketに追加</a></p> <h2 id=" 最後に"><a href="#%E3%80%80%E6%9C%80%E5%BE%8C%E3%81%AB"> 最後に</a></h2> <p>いかがでしたか?<br /> どなたかこのコードを元にしてChrome拡張を作って頂けると泣いて喜びます。<br /> さて、今後はこのリンクを記事の一番下に掲載しておくことにします。ありがとうございました。</p> <h2 id="はてなブックマーク・Pocketはこちらから"><a href="#%E3%81%AF%E3%81%A6%E3%81%AA%E3%83%96%E3%83%83%E3%82%AF%E3%83%9E%E3%83%BC%E3%82%AF%E3%83%BBPocket%E3%81%AF%E3%81%93%E3%81%A1%E3%82%89%E3%81%8B%E3%82%89">はてなブックマーク・Pocketはこちらから</a></h2> <p><a target="_blank" rel="nofollow noopener" href="//b.hatena.ne.jp/add?mode=confirm&url=https://qiita.com/ToshioAkaneya/items/44eb377f27f55e21e626">はてなブックマークに追加</a><br /> <a target="_blank" rel="nofollow noopener" href="//getpocket.com/edit?url=https://qiita.com/ToshioAkaneya/items/44eb377f27f55e21e626">Pocketに追加</a></p> アカネヤ@ネコチャ運営者 tag:crieit.net,2005:PublicArticle/14706 2019-01-01T12:19:04+09:00 2019-01-31T19:34:08+09:00 https://crieit.net/posts/bd4a69907b8d816f7194b9d7d85bbf01 今の時代、日本語で書いた記事でも意外に海外から読んでもらえるものなので、ぼくらはもっと自信をもって日本語で書いてもいいのかも <h1 id="ご挨拶"><a href="#%E3%81%94%E6%8C%A8%E6%8B%B6">ご挨拶</a></h1> <p>あけましておめでとうございます、2019年、来年はついに C++20 がやってくるのかと思うとワクワクしてきますね</p> <h1 id="はじめに"><a href="#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB">はじめに</a></h1> <p>日本語で書いたQiita の記事にコメントで質問を英語で頂くことがこれまでに2回ありまして、質問をいただいているので単なる通りすがりのおちゃらかしではなくて記事に興味を持ってくださって、どうにかして読んでくださって、なおかつ疑問に残ったことを英語で質問してくださったんだろうなと思うとちょっと胸熱でウルウルしてました</p> <p>私のささやかな声でも、世界に届くことがあるんだな<br /> この喜びと勇気を諸兄諸姉にも届けたい、と思ったことが本稿を寄稿いたしましたモチベーションでございます</p> <p>ところで、日本語で書いた記事って実際に <strong><em>どれ位海外で読まれる</em></strong> ものなのでしょうか?<br /> 千人に1人の 0.1% ぐらい、というのは希望的すぎるので万人に1人の 0.01% ぐらいでしょうか?</p> <h1 id="検証"><a href="#%E6%A4%9C%E8%A8%BC">検証</a></h1> <p>Qiita はありがたいことに <strong>アナリティクス</strong>の設置ができますので、それで自分の記事がどれぐらい日本以外で参照してもらえているものなのか調べてみようと思います</p> <p>期間は2018年の 9月3日から 2019年1月1日(今日ですね、あけましておめでとうございます)までの <strong><em>約4ヶ月間</em></strong>、これまで Qiita に上梓させていただきました <strong><em>75本</em></strong> の記事が対称です</p> <h1 id="Resarch Question"><a href="#Resarch+Question">Resarch Question</a></h1> <p><strong><em>RQ1: 日本語の記事がグローバルに参照される比率はどれぐらいなのか</em></strong></p> <h1 id="結果"><a href="#%E7%B5%90%E6%9E%9C">結果</a></h1> <p>ぱっとみてビックリしました<br /> <a href="https://crieit.now.sh/upload_images/cdbfed285b69bc1435182ae638b285295c2acd4f62c22.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/cdbfed285b69bc1435182ae638b285295c2acd4f62c22.png?mw=700" alt="スクリーンショット 2019-01-01 10.15.07.png" /></a></p> <p>コメントの内容から北米とヨーロッパは予想してたのですが、南米、アジア、オセアニア、ロシアと余すところなく、西アフリカと中央アジア意外ほぼ全域でよんでもらえてるなんてもう感動ものです</p> <p>中央アフリカでもタンザニアとケニアといった近年急速に産業が発達してるとちょっとまえに BBCで紹介されてた国で読んでいただけてて、もしも私の記事がそういうことに少しでも貢献できていたとしたらそれにまさる喜びはありません</p> <p>イエメンとか40人も読んでくださった方がいらっしゃいまして、もし私の記事がなにかの役に経つことがあれば僥倖の至りです</p> <p>チュニジア(行こうとしてた年にジャスミン革命がおきてしまって行きそこなった悲しい思い出が)やモロッコみたいないつかは行きたいマグレブ諸国でも読んでくださってる方がいらっしゃるんだとおもうともうなんというか感動です</p> <p>世界の皆様、あんな記事をわざわざ読んでいただきまして本当にありがとうございますだ</p> <p>都市で見てみるとこんなかんじで<br /> <a href="https://crieit.now.sh/upload_images/031d1dc447240626afad380c3671e4635c2ad1f20d405.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/031d1dc447240626afad380c3671e4635c2ad1f20d405.png?mw=700" alt="スクリーンショット 2019-01-01 10.05.11.png" /></a><br /> 私は赤貧生活をしているのが影響してか「100円でつくれる〜」みたいなボンビくさい記事が多いのですがなぜ港区みたいなリッチな所の方々にうけているのかが謎です ^^;;;</p> <p>で、70位になんとパリがはいってるんですよ、gilets jaunes の皆様が頑張っていらっしゃるあのパリで、しかも 57% って凄い低い直帰率<br /> <a href="https://crieit.now.sh/upload_images/656bee7d8b8bbc93976e058969957ca65c2ad91ba9de2.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/656bee7d8b8bbc93976e058969957ca65c2ad91ba9de2.png?mw=700" alt="スクリーンショット 2019-01-01 10.07.51 のコピー 2.png" /></a></p> <p>76位のサナアはさきほど少しふれたイエメンの街です。こちらも直帰率たったの 50%、読んでくださってありがたいです</p> <p>そして<br /> <a href="https://crieit.now.sh/upload_images/81f9089dc342acde9bb56f257fd883bf5c2ad37028fdb.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/81f9089dc342acde9bb56f257fd883bf5c2ad37028fdb.png?mw=700" alt="スクリーンショット 2019-01-01 10.08.31 のコピー.png" /></a><br /> 87位にオスロが、94位にサン・ペテルブルグが、95位にロンドンが、福島や甲府の方々よりも読んでくださってます</p> <p>さらに大都市だけでなく<br /> <a href="https://crieit.now.sh/upload_images/9526c8d5b2536140e78a2ab7da8602a55c2ad6c10a30d.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/9526c8d5b2536140e78a2ab7da8602a55c2ad6c10a30d.png?mw=700" alt="スクリーンショット 2019-01-01 10.12.47 のコピー.png" /></a></p> <p>Huddersfield って知らなかったのですがマンチェスターの近くの人口16万人ほどの街で、Randburg はヨハネスブルグ北西部の人口33万人ほどの街なんだそうです</p> <p>世界の街で、こんなに読んでくださっている方がいらっしゃるんですね<br /> <a href="https://crieit.now.sh/upload_images/5602adcf68f6c3aae1960c134b630c155c2ad70af0176.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/5602adcf68f6c3aae1960c134b630c155c2ad70af0176.png?mw=700" alt="スクリーンショット 2019-01-01 10.15.25.png" /></a></p> <p>なんて感慨に浸ってないで(感動は研究の最強のモチベーションであるとはおもうのですが)、前述の RQ の検証にもどりますと</p> <p><a href="https://crieit.now.sh/upload_images/ff9dbccb3349c6b3570070cc66784d9a5c2ad773ba784.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/ff9dbccb3349c6b3570070cc66784d9a5c2ad773ba784.png?mw=700" alt="スクリーンショット 2019-01-01 10.04.57.png" /></a></p> <p>日本からの参照が 95.46%、なので <strong><em>海外からの参照は 4.54%</em></strong> ですね、<strong><em>桁違いに多い、マジで有意な数の参照が海外から</em></strong> だったんですね</p> <p>ところで日本国内にも日本語話者でない IT エンジニアの方がたくさんいらっしゃいますし、海外で働いている日本語話者の IT エンジニアの方もたくさんいらっしゃいます<br /> 日本語話者ではないと思われる方がどれ位参照してくださっているものなのかというと</p> <p><a href="https://crieit.now.sh/upload_images/6a8b48483644a747f1e25fd632c41a6d5c2ad7924ad6b.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/6a8b48483644a747f1e25fd632c41a6d5c2ad7924ad6b.png?mw=700" alt="スクリーンショット 2019-01-01 10.03.57.png" /></a></p> <p>ええと、だいたい <strong><em>7.01%</em></strong> ぐらい?<br /> これ、凄くないですか?日本語で書いてるのに</p> <h1 id="考察"><a href="#%E8%80%83%E5%AF%9F">考察</a></h1> <p>機械翻訳が進んだ昨今、何語で書いてあるかは問題じゃなくなってきてるということなのでしょうか?</p> <h1 id="結論"><a href="#%E7%B5%90%E8%AB%96">結論</a></h1> <p>日本語で書いた記事ってみんなが信じてる以上に実際は世界に届いているみたいですよ</p> <p>ご立派な方々から <strong><em>日本語での情報発信はグローバルな価値はゼロだよ</em></strong> なんてよく腐されておりました <strong><em>グローバル言語弱者</em></strong> の私といたしましては、日本語で書いた記事でも実に <strong><em>読者の 4.5% は海外の、7%は日本語ユーザーでない人</em></strong> だったという事実は、 <strong><em>少なくとも「価値はゼロ」なんてことは決してない</em></strong> みたいです</p> <h1 id="related works"><a href="#related+works">related works</a></h1> <p>本稿は某所に上梓させていただきました<a target="_blank" rel="nofollow noopener" href="https://qiita.com/UedaTakeyuki/items/cce2a414eab9487e1249">これ</a>を revise して、新年の希望にみちあふれる内容にしようと思ったんですけどイマイチうまくできませんでした<br /> どうも本当にすみません、希望ってむずかしい</p> Dr. Takeyuki Ueda tag:crieit.net,2005:PublicArticle/14567 2018-10-14T20:22:11+09:00 2020-03-26T15:01:07+09:00 https://crieit.net/posts/Qiita-Qrunch-Crieit QiitaとQrunchとCrieitを比較してみた <p>先日 <a target="_blank" rel="nofollow noopener" href="https://qrunch.io/">Qrunch</a> という技術ブログサービスがリリースされました。</p> <p>Aboutを見ると「Qiita・dev.toの中間的な存在」、且つクロス投稿も可能ということでかなり僕が開発したCrieitとコンセプトとして共通していると感じました。そのためここで一度Qiitaベースの3サービスを比較してみました。</p> <h2 id="サービス自体の違い"><a href="#%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E8%87%AA%E4%BD%93%E3%81%AE%E9%81%95%E3%81%84">サービス自体の違い</a></h2> <ul> <li>Qiitaはプログラミングに関する記事を投稿するサービス</li> <li>Qrunchは技術ブログサービス</li> <li>Crieitはプログラマー、クリエイター向けのコミュニティ</li> </ul> <p>大まかには下記のようになっており、サービスの内容的に類似はしていますがベースとなるもの自体はどれも異なっているようです。</p> <p>その他の部分としてQiitaはQiita:Teamを展開していたりOrganizationという枠組みで活動できたりというところがあり、Qrunchは小さなメモをつぶやける「ログ」という機能があったりします。</p> <h2 id="投稿した内容の帰属"><a href="#%E6%8A%95%E7%A8%BF%E3%81%97%E3%81%9F%E5%86%85%E5%AE%B9%E3%81%AE%E5%B8%B0%E5%B1%9E">投稿した内容の帰属</a></h2> <p>Qiitaは投稿は全てQiitaへの寄稿のような形となります。著作権は所有者にあると思いますが、SEO的にはQiitaとしてのコンテンツになってしまいます。</p> <p>Qrunch、Crieitはカノニカルを利用したクロス投稿ができるようになっています。どちらも標準ではQiitaのような寄稿の形をとりますが、カノニカルURLを指定することで最終的に引っ越しなども可能ですので、SEO上そのコンテンツがサービス内に骨を埋める形になってしまったりということがありません。</p> <p>また、Qrunchはブログという形を取っているため、自分の所有物、という印象は更に強まりそうです。</p> <h2 id="投稿できる内容"><a href="#%E6%8A%95%E7%A8%BF%E3%81%A7%E3%81%8D%E3%82%8B%E5%86%85%E5%AE%B9">投稿できる内容</a></h2> <p>QiitaはQrunch、Crieitの開発者が困っている部分としてあげているとおり、プログラミングに関することを投稿してほしい、というコミュニティガイドラインがあります。</p> <p>Qrunch、Crieitは何でも投稿が可能です。Qrunchはそもそもブログですので通常の内容であれば規制される内容自体がありませんし、Crieitは何でもOKと定めているので問題ありません。</p> <h2 id="運営者"><a href="#%E9%81%8B%E5%96%B6%E8%80%85">運営者</a></h2> <p>Qiitaは法人の運営ですのでしっかりとした体制が整っていますが、Qrunch、Crieitは個人開発になります。全体的な安定性はQiitaの一強となります。</p> <h2 id="機能の違い"><a href="#%E6%A9%9F%E8%83%BD%E3%81%AE%E9%81%95%E3%81%84">機能の違い</a></h2> <p>Qiitaは長年続いている巨大サービスで、ユーザー数も記事数もかなり多いです。それに適応した機能が揃っており、普段滞在してサービス内をうろうろしたり再アクセスしたりするのに十分な楽しさがあります。このあたりはさすが大手という感じです。</p> <p>Crieitはとにかく最低限の実装を意識しているので、投稿やユーザーが少ない間はあまり使われなそうな機能はほとんど実際していません。その時の状況に合わせてブラッシュアップしていきます。そのため、現在は投稿関連のメイン機能以外はほとんど機能がありません。ですのでわりと迷いにくいのでは、と思っています。</p> <p>Qrunchはリリース直後からそこそこ色々な機能が実装されています。ユーザー同士でフォローしあったり、アクセス解析等も標準でついていたりします。安心感はありますが、まだあまり使わない機能が表示されていたりしてちょっと迷ってしまう部分などもありそうです。ただ、今後ユーザーや記事が増えていった場合にも安心して使っていけそうなイメージがあります。</p> <h2 id="デザイン"><a href="#%E3%83%87%E3%82%B6%E3%82%A4%E3%83%B3">デザイン</a></h2> <p>Qiitaは大勢の人が見慣れているのでThe Qiita、という感じですね。</p> <p>Qrunchは全部自分で実装されているということのようですね。クオリティ高くてやばい…。</p> <p>CrieitはBootstrap Material Designを入れているだけでデザインは一切していません。ロゴ(Twitterカード画像)もfaviconも青背景にフォントも考えず適当に文字をおいただけですし…。</p> <h2 id="繁栄の傾向"><a href="#%E7%B9%81%E6%A0%84%E3%81%AE%E5%82%BE%E5%90%91">繁栄の傾向</a></h2> <p>Qiitaはもう繁栄していますので、これからどうやって調整していくか、というところが見ものです。現在も色々調整されているようですね。</p> <p>Qrunchはすごいですね、一気に広まっていますし、初日からガンガン投稿が増えています。Twitterをみてもかなり評判が良く今後もどんどん繁栄していきそうな感じがします。</p> <p>Crieitは未だに自分の知り合いの方々しか知らないのではないのかというくらいで、全く広まっていません。アクセスも非常に少ないです。何を作っても流行らない呪いのため、僕の作ったサービスはいつもユーザー数やアクセスが皆無(1桁とか)なので、これでも一番の快挙なレベルではあります。地道に育成できる系のサービスではあるので、引き続きコツコツと成長を目指していきます。</p> <h2 id="将来性"><a href="#%E5%B0%86%E6%9D%A5%E6%80%A7">将来性</a></h2> <p>Qiitaはもう何年も続いてますし安定しているのではないかと思います。</p> <p>QrunchとCrieitは個人開発のため、今後どうなっていくか、というのは不明な点も多いです。ただ、Qrunchの開発者の方のツイートを見ると、うまくいかなかったら自分のブログとして使う、というような発言があったため、このあたりは僕と同じ思想で面白かったです。個人開発の弱みであり強みですね。</p> <h2 id="まとめ - 今後技術系記事界隈はどうなっていくと良いか"><a href="#%E3%81%BE%E3%81%A8%E3%82%81+-+%E4%BB%8A%E5%BE%8C%E6%8A%80%E8%A1%93%E7%B3%BB%E8%A8%98%E4%BA%8B%E7%95%8C%E9%9A%88%E3%81%AF%E3%81%A9%E3%81%86%E3%81%AA%E3%81%A3%E3%81%A6%E3%81%84%E3%81%8F%E3%81%A8%E8%89%AF%E3%81%84%E3%81%8B">まとめ - 今後技術系記事界隈はどうなっていくと良いか</a></h2> <p>何の人脈がなくても人から記事を読んでもらいやすい技術系記事投稿サービス、というのは、日本ではQiitaしかありません。他にも色々投稿サービス自体はありますが、はっきり言って集客力がないとどれだけ頑張って書いても誰にも読んでもらえません。</p> <p>そのためクロス投稿ができたり、投稿できる内容の自由さを求めたりすると別のサービスが必要となります。今年はCrieit、Qrunchとリリースが続いているのでそれが何か一つの大きな転機で、今後色々と細かい問題を解決するための類似のサービスがどんどん出てくるのでは、という気がしてきました。</p> <p>今後大きな会社が組織的に同様のサービスを出してくる可能性もありそうですし、もしかしたらQiitaが大幅にガイドラインや機能を変えてくる可能性もあるかもしれません。</p> <p>Qiita、Qrunch、Crieitのどれかが、ということではなく、全てがそれぞれ色々な問題を解決して成長していければいいな、と思っています。</p> <p>…しかし、これで技術系記事をクロス投稿できるサービスがMedium、dev.to、Qrunch、Crieitと4つになったので、何かクロス投稿を一括でできるサービスがほしいところです。</p> だら@Crieit開発者 tag:crieit.net,2005:PublicArticle/14478 2018-07-11T12:09:46+09:00 2018-10-31T15:35:03+09:00 https://crieit.net/posts/Qiita Qiitaの様なサービスを公開して1ヶ月経った雑感 <p>Crieit――Qiitaの様だけど何でも気軽に書けるコミュニティ Crieit――をαバージョンで公開して1ヶ月ちょっと過ぎました。その間に色々と感じた雑感を書き残しておこうと思います。</p> <h2 id="どれくらい完成したのか"><a href="#%E3%81%A9%E3%82%8C%E3%81%8F%E3%82%89%E3%81%84%E5%AE%8C%E6%88%90%E3%81%97%E3%81%9F%E3%81%AE%E3%81%8B">どれくらい完成したのか</a></h2> <p>一応ロードマップも公開しています。</p> <p><a target="_blank" rel="nofollow noopener" href="https://trello.com/b/OBvr5yZD">Crieitロードマップ</a></p> <p>まだまだ必要な機能の中でできていないものもたくさんあります。ただ、ユーザーや投稿が増えないと意味のない機能もあるため、αバージョンのままでも最低限問題ないくらいの状態にはどこかのタイミングでなるのではないかと思います。</p> <p>そのため必要な機能よりも、アクセスした人がユーザーとして使ってみたくなる、ユーザーになった人が居心地が良くなる改善の方を先にどんどんやっていった方がいい部分もあるかなと感じています。</p> <h2 id="記事も書いている"><a href="#%E8%A8%98%E4%BA%8B%E3%82%82%E6%9B%B8%E3%81%84%E3%81%A6%E3%81%84%E3%82%8B">記事も書いている</a></h2> <p>とりあえず投稿を増やしていかなければならないため、現在思いついたことはどんどん記事にして自分で投稿していっています。6月は10記事程書きました。引き続きどんどん書いていきたいと思います。</p> <p>ちなみに元々はてなブログにあった自分の記事をCrieitにコピーしてはじめました。はてなブログも元々はWordpress、更には名前忘れましたがフリーのCMS時代の記事も元々コピーしていたため、最初から200記事以上はありました。</p> <p>はてなブログ側をそのままにしておくと、Crieitの記事が重複記事として評価が無価値になりそうだったため、はてなブログ側は非公開にしました。</p> <p>あとはQiitaで書いていた記事で、全然いいねはもらえなかったけど結構検索流入が多い記事などもあったため、そういったものもちょこちょこQiita側の記事を削除して移動してきています。</p> <p>やはり投稿の量が重要なサービスのため、αバージョンで早めに公開してページを増やせているのは良かったと思います。</p> <h3 id="記事系サービスは結構いい"><a href="#%E8%A8%98%E4%BA%8B%E7%B3%BB%E3%82%B5%E3%83%BC%E3%83%93%E3%82%B9%E3%81%AF%E7%B5%90%E6%A7%8B%E3%81%84%E3%81%84">記事系サービスは結構いい</a></h3> <p>記事系サービスは運営するのに結構良いと思います。特に、僕のような凡人で色々サービス作ってみても全く流行ったことも無い人にはおすすめです。なぜかというと、下記のような理由です。</p> <ul> <li>頑張って書いた。バズれ! → バズらない。でも記事がひとつ増えるだけでSEO的にはポイントが上がる</li> <li>色々な記事を書いて何度も挑戦できる</li> </ul> <p>こんな感じで、集客力もカリスマ性もなくても、コツコツ頑張るだけで徐々にサービス全体の質があがっていきます。面白いサービスを作って流行らせることができなくても、徐々にサービスを育成することができます。とくにお金をかけて一気に記事をふやしまくればかなりの集客力がつくと思うので、キュレーションサイトが増えてたのは非常に頷けます。</p> <p>もしそのうち多くの人が投稿してくれるようになれば大幅な成長が見込めるので、非常に面白いと思います。こういうサービスにしろ、ブログにしろ、誰もがひとつは長期的にのんびり時間をかけて運営していった方がいいサービスの一つかな、と感じました。</p> <p>逆に言うと、そういうことをやりたい人は早めにどんどんはじめた方が良いと思います。</p> <h3 id="文章を書くのはそこそこ好きっぽい"><a href="#%E6%96%87%E7%AB%A0%E3%82%92%E6%9B%B8%E3%81%8F%E3%81%AE%E3%81%AF%E3%81%9D%E3%81%93%E3%81%9D%E3%81%93%E5%A5%BD%E3%81%8D%E3%81%A3%E3%81%BD%E3%81%84">文章を書くのはそこそこ好きっぽい</a></h3> <p>Crieitも含め、元々ブログやQiitaでも記事を書いていましたが、わりと記事を書くのは好きなんじゃないかなと思います。書く時は集中してどんどん書けますし、記事が完成すると達成感があります。</p> <p>そういえば昔も個人でテキストサイトをやっていましたし、小説を書いて応募して1次審査突破したこともあります(1次はつまらなくても突破できるようになっています)。文章を書くことはずーっとやっているので、得意不得意は抜きにして結構自分にあっているのではないかと思います。そのため、このサービス自体も今まで作ったものに比べやってて楽しい感じがあります。</p> <p>運営に失敗しても、最悪の場合自分のブログとして使えるので非常に良いですし。</p> <h2 id="Google Analyticsが面白い"><a href="#Google+Analytics%E3%81%8C%E9%9D%A2%E7%99%BD%E3%81%84">Google Analyticsが面白い</a></h2> <p>長くなったので別記事に分割しました。</p> <p><a href="https://crieit.net/posts/Google-Analytics">Google Analyticsで見ると面白いところ</a></p> <h2 id="f1-micro怖い"><a href="#f1-micro%E6%80%96%E3%81%84">f1-micro怖い</a></h2> <p>f1-microは無料で運用できますが、スペックが非常に低いです。下記の記事とか何故かマイナーそうなのにちょっとだけテクノロジーのホッテントリに載ったのでその間は怖かったです…。スペックを上げるにはサーバーを一度止めないといけないので。</p> <p><a href="https://crieit.net/posts/PHP-Laravel-FCM-Web">PHP+Laravel+FCMでWebプッシュ通知を送る</a></p> <p>下記も載りました。上記より多かったですが、でも結構大丈夫でした。結局、瞬間的にさばききれない程のアクセスが来るとまずそうですが、数秒間隔とかで適当にアクセスがある程度であれば全然問題なさそうな気もしました。</p> <p><a href="https://crieit.net/posts/Slack-PHP">SlackはPHPっぽいもので作られているらしい</a></p> <p>Google Cloud Storageは止めなくても変えることができるとどこかで見た気がするので、とりあえずDBだけはどこかのタイミングで分けた方がよさそうです。</p> <h2 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h2> <p>とりあえずSEO楽しい、自分で記事書くのもわりと好きということで、今まで作ったサービスの中では一番好きかもしれません。</p> <p>あとはなんとか投稿してくれる人を増やしていかなければならないので、自分で頑張って記事を書いて広めていきたいと思います。自分できっちり記事をバズらせることができる能力があればよかったんですが…。記事がバズる毎に先着10記事まで1万円プレゼントキャンペーンでもやりますか〜…。</p> <p>ということでよろしければ是非モチベーションが上がった時にでもどなたか記事の投稿をぜひよろしくお願いします。カノニカルURLを指定できるので、ご自身のブログの記事の丸々コピーでも全く問題ないです。</p> <p><a href="https://crieit.net/posts/da1c7e227584106e36e6383f856268df">カノニカルとは?</a></p> だら@Crieit開発者 tag:crieit.net,2005:PublicArticle/14463 2018-06-04T09:38:26+09:00 2020-07-01T21:01:52+09:00 https://crieit.net/posts/Qiita-SEO QiitaがやっているSEO対策を調べてみた <h2 id="はじめに"><a href="#%E3%81%AF%E3%81%98%E3%82%81%E3%81%AB">はじめに</a></h2> <p>Crieitを開発中、いくつかのサービスを参考にしました。そのためQiitaのSEOはこうやっている、というのを多少感じ取れた部分がありますので、いくつか紹介していきたいと思います。(このサービスをざっと見ていただいた方はお気づきかと思いますが、Qiitaの構成もかなり参考にしています)</p> <p>ちなみに裏技のようなものの紹介は特にありません。基本的な、大事な部分をちゃんとやっている、というところがメインの話になります。</p> <p><strong>元々存在しない価値を生み出すものではなく、コンテンツを無駄にしないためのSEO</strong>です。</p> <p>(このあとリニューアルしたため内容と現在のサイトが異なっている場合があります)</p> <h2 id="コンテンツを増やす"><a href="#%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E3%82%92%E5%A2%97%E3%82%84%E3%81%99">コンテンツを増やす</a></h2> <p>コンテンツが増えると、検索流入もその分多くなりアクセスを増やすことの要因の一つとなります。</p> <p>ではコンテンツとは何か、というとQiitaでは当然記事があります。</p> <p>ただ、それだけではもったいないです。付随する色々なデータがあるので、それらもコンテンツとして配置することで一気にサービス上のコンテンツのボリュームを増やすことができます。</p> <h3 id="ユーザープロフィール"><a href="#%E3%83%A6%E3%83%BC%E3%82%B6%E3%83%BC%E3%83%97%E3%83%AD%E3%83%95%E3%82%A3%E3%83%BC%E3%83%AB">ユーザープロフィール</a></h3> <p>ユーザーにはそれぞれプロフィールページが設けられています。これも一つのコンテンツとしてみなすことができます。</p> <p>しかも、これは1ページにとどまりません。プロフィールに入った最初のページはそのユーザーの記事一覧があります。さらにタブをクリックすると、その人がいいねした履歴やフォロワー一覧等もそれぞれ1ページのコンテンツとすることで、1ユーザー増える毎にコンテンツが何倍にも増えるようにしています。</p> <p><a href="https://crieit.now.sh/upload_images/587815b524390f2f5f1edd58b3d626725b110d78d4d22.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/587815b524390f2f5f1edd58b3d626725b110d78d4d22.png?mw=700" alt="" /></a></p> <h3 id="タグ"><a href="#%E3%82%BF%E3%82%B0">タグ</a></h3> <p>タグをクリックすると、タグによる記事の絞り込みが行なえます。ただ、これは単なる検索結果のページではありません。このページもタグページとして一つのコンテンツになっています。</p> <p>SEOの基本上ちゃんとhタグでページ名がついていて、さらに単なる記事一覧だけでなく人気のあった記事まとめをパーツとして書いておくことで、ページ内のコンテンツを豊富にしています。</p> <p><a href="https://crieit.now.sh/upload_images/11d5bd013e2c6c205025a1fc7cb288d85b110e24890c0.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/11d5bd013e2c6c205025a1fc7cb288d85b110e24890c0.png?mw=700" alt="" /></a></p> <h2 id="全てのページにちゃんとアクセスできるようにする"><a href="#%E5%85%A8%E3%81%A6%E3%81%AE%E3%83%9A%E3%83%BC%E3%82%B8%E3%81%AB%E3%81%A1%E3%82%83%E3%82%93%E3%81%A8%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9%E3%81%A7%E3%81%8D%E3%82%8B%E3%82%88%E3%81%86%E3%81%AB%E3%81%99%E3%82%8B">全てのページにちゃんとアクセスできるようにする</a></h2> <p>SEO上、ベースとなる部分で一番大事なことは、<strong>ちゃんとクローラに認識してもらうこと</strong>です。つまり、まずは全部のページにちゃんと辿ってアクセスできるようにしてあげる必要があります。</p> <p>Qiitaはこのあたりをちゃんとしていました。具体的にはフッターにあるこのリンクです。</p> <p><a href="https://crieit.now.sh/upload_images/11d5bd013e2c6c205025a1fc7cb288d85b110e9aef6da.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/11d5bd013e2c6c205025a1fc7cb288d85b110e9aef6da.png?mw=700" alt="" /></a></p> <p>このリンクは、全てのページにアクセスできるようにするためのリンクです。主にクローラのために配置されているもので、ユーザーが普段利用するページではありません。</p> <p>前述したユーザー、タグページも重要なコンテンツですので、これらにも全てアクセスできるようになっています。</p> <p>今これを読んでいる方の中にもサイトやサービスを作っている方は多いと思いますが、こういった仕組みは導入されていますか?</p> <p>検索パラメータでページはかなり増えるけど、formだから実質クローラはアクセスできない、なんて事になっていたら非常にもったいないと思います。気になる方はぜひ見直してみましょう。</p> <p>ちなみに、ページングは個別ページとしては利用できません。メタタグを利用して同一ページとして認識させることができますので、そういった対応を行いましょう。例えばQiitaでは下記のようになっています。</p> <pre><code class="html"><link rel="canonical" href="https://qiita.com/tags?page=2" /> <link rel="next" href="/tags?page=3" /> <link rel="prev" href="/tags" /> </code></pre> <h2 id="ページ内の重要なワードの出現回数を増やす"><a href="#%E3%83%9A%E3%83%BC%E3%82%B8%E5%86%85%E3%81%AE%E9%87%8D%E8%A6%81%E3%81%AA%E3%83%AF%E3%83%BC%E3%83%89%E3%81%AE%E5%87%BA%E7%8F%BE%E5%9B%9E%E6%95%B0%E3%82%92%E5%A2%97%E3%82%84%E3%81%99">ページ内の重要なワードの出現回数を増やす</a></h2> <p>ページ内の需要なワードを違和感ない程度に増やすことで、各ページがそのワードのページとしてのSEO上の価値が高まり、検索結果に表示されやすくなります。(劇的な効果があるわけではないと思います)</p> <p>具体的に見ていきます。</p> <h3 id="記事ページ"><a href="#%E8%A8%98%E4%BA%8B%E3%83%9A%E3%83%BC%E3%82%B8">記事ページ</a></h3> <p>記事はユーザーが投稿するもののため、自由にキーワードの出現頻度を増やすことができません。そのため、いくつかの工夫がなされています。</p> <h4 id="見出し一覧"><a href="#%E8%A6%8B%E5%87%BA%E3%81%97%E4%B8%80%E8%A6%A7">見出し一覧</a></h4> <p>Qiitaで特徴的なのはやはり右側に表示されている見出し一覧。</p> <p><a href="https://crieit.now.sh/upload_images/dfcf398c3ba3dbcda62807a2b45b8a135b110f68e1909.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/dfcf398c3ba3dbcda62807a2b45b8a135b110f68e1909.png?mw=700" alt="" /></a></p> <p>単なる便利機能ではなく、見出しには重要なワードが含まれることが多いので、この機能を追加して出現頻度を上げているものと思われます。</p> <h4 id="関連ページ"><a href="#%E9%96%A2%E9%80%A3%E3%83%9A%E3%83%BC%E3%82%B8">関連ページ</a></h4> <p>関連ページと言うと関連しているページを紹介しているものだろうと思いますが、恐らく、ここは各記事の中でよく出現する、もしくは重要度の高いキーワードをなるべく多く出すため、そういったキーワードを含むタイトルの記事を出しているのではないかと想像しています。</p> <p><a href="https://crieit.now.sh/upload_images/d3e728f3e0d40b5740c5cc266ecd8b1c5b110ff9622cb.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/d3e728f3e0d40b5740c5cc266ecd8b1c5b110ff9622cb.png?mw=700" alt="" /></a></p> <p>もちろん人気があるとか、最近アクセスされたとか諸条件はあると思いますが、キーワードを一番に重視して出しているような気がします。(全部想像です)</p> <p>別途、リンクされている記事の一覧もあります。ただ、こちらはもちろん関連ワードが出てくる可能性はありますが、ワードを操作できません。UX的に必要な機能ではありますが、SEO的にはやはりそれだけでは不足だったのでしょう。</p> <p><a href="https://crieit.now.sh/upload_images/9cfd920e01bd679c60f91575e74191915b11106365c62.png" target="_blank" rel="nofollow noopener"><img src="https://crieit.now.sh/upload_images/9cfd920e01bd679c60f91575e74191915b11106365c62.png?mw=700" alt="" /></a></p> <h3 id="タグページ"><a href="#%E3%82%BF%E3%82%B0%E3%83%9A%E3%83%BC%E3%82%B8">タグページ</a></h3> <p>前述した全てのタグの一覧ページを見てみると、単に列挙しているだけではなく、人気のあるタグを最初にいくつか説明文の中で列挙しています。</p> <blockquote> <p>Qiitaに登録されているタグの一覧です。 JavaScript、Ruby、PHP、iPhone、Android、Vim、Emacs、Objective-C、CoffeeScript、gitなど、Qiitaでは毎日様々なジャンルの投稿がされています。 気になるタグを探してフォローしてみましょう。</p> </blockquote> <p>たった1ページではありますが、このサイトはこういう内容がメインのサービスだよ、というのをクローラに伝えるためにこういった記述になっていると思われます。</p> <h2 id="気になったところ"><a href="#%E6%B0%97%E3%81%AB%E3%81%AA%E3%81%A3%E3%81%9F%E3%81%A8%E3%81%93%E3%82%8D">気になったところ</a></h2> <p>Qiitaにログインしていない状態でだけアクセスできるトップページがあります。その中に、「Hello Hackers」という文言がありますがこれがh1になっています。このあたりは不思議ですね。あまり重要ではないのでしょうか。</p> <p>Crieitもそれを真似てBootstrapのサンプルそのままのHello, worldをh1タグにしています。</p> <h2 id="まとめ"><a href="#%E3%81%BE%E3%81%A8%E3%82%81">まとめ</a></h2> <p>以上がQiitaが対応しているSEO対策についての雑感になります。おそらく他にも気づかないところですごいことをやっている可能性もありますが、今のところ僕が気づいたところはこういったところです。</p> <p>結局、すごいことをやるわけではなく、ちゃんと基本ができているか、というところになりますので、あまり深く追いすぎても意味はないと思います。やりすぎは逆にマイナスだと思いますので。</p> <ul> <li>キーワードについてちゃんと考える</li> <li>導線を考える</li> <li>メタタグをちゃんと整備する</li> </ul> <p>あくまでもこういった基本的な大事なところをきっちりするためのSEOとして役立つ諸々の対策になるかと思います。</p> <p>繰り返しますが、<strong>元々存在しない価値を生み出すものではなく、コンテンツを無駄にしないためのSEO</strong>です。</p> <h2 id="最後に"><a href="#%E6%9C%80%E5%BE%8C%E3%81%AB">最後に</a></h2> <p>その他サービス開発上色々気がついたことなどは随時このCrieit上に投稿していきます。気になる方はぜひフォローをお願いします。(Crieit上にフォロー機能がまだないのですが…)</p> だら@Crieit開発者