<p>こんにちわ、わかっち (<a href="https://twitter.com/wakatchi_tech">@wakatchi_tech</a>) です。</p>
<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-right vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://wakatchi.dev/wp-content/uploads/2022/07/computer02_man.png" alt=""/><figcaption class="vk_balloon_icon_name"></figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content has-background-color has-pale-cyan-blue-background-color "><span class="vk_balloon_content_before has-text-color has-pale-cyan-blue-color"></span><span class="vk_balloon_content_after "></span>
<p>マッチングサイトを手軽に構築したいんだけど、どんな方法がありますか?</p>
</div></div></div>
<p>いまやブログだけではなく大規模サイトまで作れるWordPressですが、みなさんはWordPressでマッチングサイトを手軽に構築できることをご存じでしょうか?</p>
<p>マッチングサイトを構築できるWordPressのプラグインは、BuddyPressやPeepSo、MemberPress、Ultimate Memberなど数多くありますが、どれを選択するかは具体的な要件や好みに応じて異なります。</p>
<p>この記事では、<strong><span data-color="#fcb900" style="background: linear-gradient(transparent 60%,rgba(252, 185, 0, 0.7) 0);" class="vk_highlighter">Ultimate Member</span></strong>というプラグインをご紹介します。</p>
<p><strong><span data-color="#f78da7" style="background: linear-gradient(transparent 60%,rgba(247, 141, 167, 0.7) 0);" class="vk_highlighter">Ultimate Memberは多くの拡張プラグインが用意されており、マッチングサイトの要件に応じて柔軟に構築できます。</span></strong>また、APIやアクションフック、さまざまなカスタマイズ方法など、エンジニアを助けるドキュメントが多く公開されており、とても拡張性があるマッチングサイトのプラグインです。</p>
<div class="wp-block-vk-blocks-border-box vk_borderBox vk_borderBox-background-transparent has-text-color has-pale-cyan-blue-color is-style-vk_borderBox-style-solid-kado-tit-tab"><div class="vk_borderBox_title_container has-background has-pale-cyan-blue-background-color"><i class=""></i><h4 class="vk_borderBox_title" id="vk-border-box-83b4576c-b4bf-44fd-90b9-10740f84f105"><strong>この記事は次のような方にお勧めです</strong></h4></div><div class="vk_borderBox_body">
<ul class="wp-block-list is-style-vk-check-mark">
<li>マッチングサイトを低価格で構築したい</li>
<li>WordPressを使ったマッチングサイト構築に興味がある</li>
<li>WordPressを使ってマッチングサイトを構築したいがプラグインの選定に悩んでいる</li>
</ul>
</div></div>
<div class="wp-block-vk-blocks-table-of-contents-new vk_tableOfContents vk_tableOfContents-style-default tabs" data-use-custom-levels="false" data-custom-levels=""><div class="tab"><div class="vk_tableOfContents_title">目次</div><input type="checkbox" id="chck-toc-omimrfrk"/><label class="tab-label vk_tableOfContents_openCloseBtn button_status button_status-open" for="chck-toc-omimrfrk" id="vk-tab-label-toc-omimrfrk">CLOSE</label><ul class="vk_tableOfContents_list tab_content-open">
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-2">
<a href="#vk-htags-c49a5c8a-bfa2-4abf-aea6-3ba36bf414b1" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">1. </span>
Ultimate Memberとは
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-3">
<a href="#vk-htags-610a9042-b012-4feb-a231-bff2fc9e4180" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">1.1. </span>
Ultimate Memberの運営会社
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-3">
<a href="#vk-htags-eea66085-0285-43c4-8896-edbe6158bc5d" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">1.2. </span>
Ultimate Memberの基本機能
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-4">
<a href="#vk-htags-6339451a-a219-444b-88a5-8a4596e4d4fa" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">1.2.1. </span>
ユーザ管理
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-4">
<a href="#vk-htags-3a969d9b-ced1-490d-a394-968ca2d1c2aa" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">1.2.2. </span>
ユーザプロフィール
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-4">
<a href="#vk-htags-3a969d9b-ced1-490d-a394-968ca2d1c2aa" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">1.2.3. </span>
ユーザの権限
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-4">
<a href="#vk-htags-3a969d9b-ced1-490d-a394-968ca2d1c2aa" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">1.2.4. </span>
メンバーディレクトリ
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-4">
<a href="#vk-htags-3a969d9b-ced1-490d-a394-968ca2d1c2aa" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">1.2.5. </span>
カスタムフィールド
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-4">
<a href="#vk-htags-3a969d9b-ced1-490d-a394-968ca2d1c2aa" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">1.2.6. </span>
Eメール
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-4">
<a href="#vk-htags-3a969d9b-ced1-490d-a394-968ca2d1c2aa" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">1.2.7. </span>
ナビゲーションメニューの可視性
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-2">
<a href="#vk-htags-466a7b40-f3ce-4d92-8f55-4bf67c1dc60b" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">2. </span>
Ultimate Memberの拡張機能
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-2">
<a href="#issue" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">3. </span>
Ultimate Memberの課題
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-3">
<a href="#customization-can-be-complicated" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">3.1. </span>
カスタマイズが複雑になりがち
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-3">
<a href="#unsatisfactory" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">3.2. </span>
無料版で作ったマッチングサイトは物足りない(かもしれない)
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-3">
<a href="#japaneseization" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">3.3. </span>
拡張機能の日本語化
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-3">
<a href="#seo" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">3.4. </span>
SEOの最適化
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-2">
<a href="#vk-htags-4747e283-1769-4974-bfb0-8ffa25887dc0" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">4. </span>
Ultimate Memberのソースコードやドキュメント
</a>
</li>
<li class="vk_tableOfContents_list_item vk_tableOfContents_list_item-h-2">
<a href="#vk-htags-ee152e9f-b054-4909-9339-7f481df7c61c" class="vk_tableOfContents_list_item_link">
<span class="vk_tableOfContents_list_item_link_preNumber">5. </span>
まとめ
</a>
</li>
</ul></div></div>
<h2 class="wp-block-heading" id="vk-htags-c49a5c8a-bfa2-4abf-aea6-3ba36bf414b1">Ultimate Memberとは</h2>
<p>Ultimate Memberは、ユーザ管理やプロフィール、ユーザ毎の権限編集やコンテンツ制限などのさまざまな機能を提供する、WordPressの会員制サイトやマッチングサイトを構築できるプラグインです。<span data-color="#f78da7" style="background: linear-gradient(transparent 60%,rgba(247, 141, 167, 0.7) 0);" class="vk_highlighter"><strong>基本的な機能は全て無料で提供されており、手軽に使い始めることができます。</strong></span></p>
<p>Webサイトの運営者は、Webサイト上のコミュニティや有料性の会員サイト、ブログ、フォーラム、LMS(学習管理システム)など、さまざまなWebプロジェクトで活用できます。</p>
<h3 class="wp-block-heading" id="vk-htags-610a9042-b012-4feb-a231-bff2fc9e4180">Ultimate Memberの運営会社</h3>
<div class="wp-block-vk-blocks-gridcolcard vk_gridcolcard vk_gridcolcard-c47a9e70-0253-4bdb-8e78-5aeddec74fe4">
<div class="wp-block-vk-blocks-gridcolcard-item vk_gridcolcard_item vk_gridcolcard_item-noHeader vk_gridcolcard_item-noFooter has-background" style="background-color:#f8f8f8"><div class="vk_gridcolcard_item_container" style="padding-top:2rem;padding-bottom:2rem;padding-left:1.5rem;padding-right:1.5rem">
<div class="wp-block-vk-blocks-gridcolcard-item-body vk_gridcolcard_item_body is-layout-flow wp-block-vk-blocks-gridcolcard-item-body-is-layout-flow">
<div class="wp-block-group vk_block-margin-sm--margin-bottom is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-94bc23d7 wp-block-group-is-layout-flex" style="border-radius:100px">
<div class="wp-block-group has-white-color has-vk-color-primary-background-color has-text-color has-background" style="border-radius:100px;padding-top:3px;padding-right:20px;padding-bottom:3px;padding-left:20px"><div class="wp-block-group__inner-container is-layout-constrained wp-container-core-group-is-layout-b04e582f wp-block-group-is-layout-constrained">
<p class="has-text-align-center" style="letter-spacing:1px;line-height:1.5">創 業</p>
</div></div>
</div>
<div class="wp-block-group is-content-justification-center is-layout-flex wp-container-core-group-is-layout-f0d7f6c0 wp-block-group-is-layout-flex">
<div class="wp-block-group is-vertical is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-9a66daf1 wp-block-group-is-layout-flex">
<p class="has-text-align-center vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top" style="font-size:4rem;letter-spacing:2px;line-height:1">2015<span data-fontsize="1.25rem" style="font-size: 1.25rem;" class="vk_inline-font-size">年</span></p>
</div>
<div class="wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-249bd0f3 wp-block-group-is-layout-flex">
<div class="wp-block-vk-blocks-icon vk_icon"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-luminous-vivid-amber-color" style="width:calc(1.5rem + 0px);height:calc(1.5rem + 0px)"><i style="font-size:1.5rem" class="fa-solid vk_icon_font fa-cake-candles" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-top vk_block-margin-0--margin-bottom"><div class="vk_icon_frame text-center is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(6.25rem + 0px);height:calc(6.25rem + 0px)"><i style="font-size:6.25rem" class="fa-solid vk_icon_font fa-building" aria-hidden="true"></i></div></div></div>
</div>
</div>
</div>
</div></div>
<style>
.vk_gridcolcard-c47a9e70-0253-4bdb-8e78-5aeddec74fe4 {
grid-template-columns:repeat(auto-fit, minmax(100%, 1fr));
gap:15px 15px;
}
@media (min-width: 576px) {
.vk_gridcolcard-c47a9e70-0253-4bdb-8e78-5aeddec74fe4 {
grid-template-columns:repeat(auto-fit, minmax(100%, 1fr));
}
}
@media (min-width: 992px) {
.vk_gridcolcard-c47a9e70-0253-4bdb-8e78-5aeddec74fe4 {
grid-template-columns:repeat(auto-fit, minmax(300px, 1fr));
}
}
</style></div>
<div class="wp-block-vk-blocks-spacer vk_spacer"><div class="vk_spacer-display-pc" style="margin-top:15px"></div><div class="vk_spacer-display-tablet" style="margin-top:15px"></div><div class="vk_spacer-display-mobile" style="margin-top:15px"></div></div>
<div class="wp-block-vk-blocks-gridcolcard vk_gridcolcard vk_gridcolcard-b8b649e0-e5eb-4b16-94a7-ecb1cdfcc675">
<div class="wp-block-vk-blocks-gridcolcard-item vk_gridcolcard_item vk_gridcolcard_item-noHeader vk_gridcolcard_item-noFooter has-background" style="background-color:#f8f8f8"><div class="vk_gridcolcard_item_container" style="padding-top:2rem;padding-bottom:2rem;padding-left:1.5rem;padding-right:1.5rem">
<div class="wp-block-vk-blocks-gridcolcard-item-body vk_gridcolcard_item_body is-layout-flow wp-block-vk-blocks-gridcolcard-item-body-is-layout-flow">
<div class="wp-block-group vk_block-margin-sm--margin-bottom is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-94bc23d7 wp-block-group-is-layout-flex" style="border-radius:100px">
<div class="wp-block-group has-white-color has-vk-color-primary-background-color has-text-color has-background" style="border-radius:100px;padding-top:3px;padding-right:20px;padding-bottom:3px;padding-left:20px"><div class="wp-block-group__inner-container is-layout-constrained wp-container-core-group-is-layout-b04e582f wp-block-group-is-layout-constrained">
<p class="has-text-align-center" style="letter-spacing:1px;line-height:1.5">従業員数</p>
</div></div>
</div>
<div class="wp-block-group"><div class="wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained">
<div class="wp-block-group is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-180da840 wp-block-group-is-layout-flex">
<div class="wp-block-vk-blocks-icon vk_icon"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(1.25rem + 0px);height:calc(1.25rem + 0px)"><i style="font-size:1.25rem" class="fa-solid vk_icon_font fa-person" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(1.25rem + 0px);height:calc(1.25rem + 0px)"><i style="font-size:1.25rem" class="fa-solid vk_icon_font fa-person" aria-hidden="true"></i></div></div></div>
</div>
<div class="wp-block-group is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-180da840 wp-block-group-is-layout-flex">
<div class="wp-block-vk-blocks-icon vk_icon"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(1.5rem + 0px);height:calc(1.5rem + 0px)"><i style="font-size:1.5rem" class="fa-solid vk_icon_font fa-person" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(1.5rem + 0px);height:calc(1.5rem + 0px)"><i style="font-size:1.5rem" class="fa-solid vk_icon_font fa-person" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(1.5rem + 0px);height:calc(1.5rem + 0px)"><i style="font-size:1.5rem" class="fa-solid vk_icon_font fa-person" aria-hidden="true"></i></div></div></div>
</div>
<div class="wp-block-group is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-cb06c8bc wp-block-group-is-layout-flex">
<div class="wp-block-vk-blocks-icon vk_icon"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2rem + 0px);height:calc(2rem + 0px)"><i style="font-size:2rem" class="fa-solid vk_icon_font fa-person" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2rem + 0px);height:calc(2rem + 0px)"><i style="font-size:2rem" class="fa-solid vk_icon_font fa-person" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2rem + 0px);height:calc(2rem + 0px)"><i style="font-size:2rem" class="fa-solid vk_icon_font fa-person" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2rem + 0px);height:calc(2rem + 0px)"><i style="font-size:2rem" class="fa-solid vk_icon_font fa-person" aria-hidden="true"></i></div></div></div>
</div>
<div class="wp-block-group is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-63360af2 wp-block-group-is-layout-flex" style="padding-top:0px;padding-right:20px;padding-bottom:0px;padding-left:20px">
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2.25rem + 0px);height:calc(2.25rem + 0px)"><i style="font-size:2.25rem" class="fa-solid vk_icon_font fa-person" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2.25rem + 0px);height:calc(2.25rem + 0px)"><i style="font-size:2.25rem" class="fa-solid vk_icon_font fa-person" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2.25rem + 0px);height:calc(2.25rem + 0px)"><i style="font-size:2.25rem" class="fa-solid vk_icon_font fa-person" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2.25rem + 0px);height:calc(2.25rem + 0px)"><i style="font-size:2.25rem" class="fa-solid vk_icon_font fa-person" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2.25rem + 0px);height:calc(2.25rem + 0px)"><i style="font-size:2.25rem" class="fa-solid vk_icon_font fa-person" aria-hidden="true"></i></div></div></div>
</div>
</div></div>
<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-height"><div class="vk_block-margin-sm--height"></div></div>
<p class="has-text-align-center vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top" style="font-size:4rem;letter-spacing:2px;line-height:1">10<span data-fontsize="1.25rem" style="font-size: 1.25rem;" class="vk_inline-font-size">人</span></p>
<p class="has-text-align-center vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"></p>
</div>
</div></div>
<div class="wp-block-vk-blocks-gridcolcard-item vk_gridcolcard_item vk_gridcolcard_item-noHeader vk_gridcolcard_item-noFooter has-background" style="background-color:#f8f8f8"><div class="vk_gridcolcard_item_container" style="padding-top:2rem;padding-bottom:2rem;padding-left:1.5rem;padding-right:1.5rem">
<div class="wp-block-vk-blocks-gridcolcard-item-body vk_gridcolcard_item_body is-layout-flow wp-block-vk-blocks-gridcolcard-item-body-is-layout-flow">
<div class="wp-block-group vk_block-margin-sm--margin-bottom is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-94bc23d7 wp-block-group-is-layout-flex" style="border-radius:100px">
<div class="wp-block-group has-white-color has-vk-color-primary-background-color has-text-color has-background" style="border-radius:100px;padding-top:3px;padding-right:20px;padding-bottom:3px;padding-left:20px"><div class="wp-block-group__inner-container is-layout-constrained wp-container-core-group-is-layout-b04e582f wp-block-group-is-layout-constrained">
<p class="has-text-align-center" style="letter-spacing:1px;line-height:1.5">国籍</p>
</div></div>
</div>
<div class="wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-ddcea515 wp-block-group-is-layout-flex">
<div class="wp-block-vk-blocks-icon vk_icon"><div class="vk_icon_frame text-center is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(6rem + 0px);height:calc(6rem + 0px)"><i style="font-size:6rem" class="fa-solid vk_icon_font fa-earth-americas" aria-hidden="true"></i></div></div></div>
</div>
<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-height"><div class="vk_block-margin-sm--height"></div></div>
<p class="has-text-align-center vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top" style="font-size:4rem;letter-spacing:2px;line-height:1">6<span data-fontsize="1.25rem" style="font-size: 1.25rem;" class="vk_inline-font-size"> カ国</span></p>
</div>
</div></div>
<div class="wp-block-vk-blocks-gridcolcard-item vk_gridcolcard_item vk_gridcolcard_item-noHeader vk_gridcolcard_item-noFooter has-background" style="background-color:#f8f8f8"><div class="vk_gridcolcard_item_container" style="padding-top:2rem;padding-bottom:2rem;padding-left:1.5rem;padding-right:1.5rem">
<div class="wp-block-vk-blocks-gridcolcard-item-body vk_gridcolcard_item_body is-layout-flow wp-block-vk-blocks-gridcolcard-item-body-is-layout-flow">
<div class="wp-block-group vk_block-margin-sm--margin-bottom is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-94bc23d7 wp-block-group-is-layout-flex" style="border-radius:100px">
<div class="wp-block-group has-white-color has-vk-color-primary-background-color has-text-color has-background" style="border-radius:100px;padding-top:3px;padding-right:20px;padding-bottom:3px;padding-left:20px"><div class="wp-block-group__inner-container is-layout-constrained wp-container-core-group-is-layout-b04e582f wp-block-group-is-layout-constrained">
<p class="has-text-align-center" style="letter-spacing:1px;line-height:1.5">アクティブインストール</p>
</div></div>
</div>
<div class="wp-block-group is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-180da840 wp-block-group-is-layout-flex">
<div class="wp-block-group is-vertical is-content-justification-center is-layout-flex wp-container-core-group-is-layout-ddcea515 wp-block-group-is-layout-flex">
<div class="wp-block-vk-blocks-icon vk_icon"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(6rem + 0px);height:calc(6rem + 0px)"><i style="font-size:6rem" class="fa-solid vk_icon_font fa-plug" aria-hidden="true"></i></div></div></div>
</div>
</div>
<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-height"><div class="vk_block-margin-sm--height"></div></div>
<p class="has-text-align-center vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top" style="font-size:3rem;letter-spacing:9px;line-height:1">200,000+</p>
</div>
</div></div>
<div class="wp-block-vk-blocks-gridcolcard-item vk_gridcolcard_item vk_gridcolcard_item-noHeader vk_gridcolcard_item-noFooter has-background" style="background-color:#f8f8f8"><div class="vk_gridcolcard_item_container" style="padding-top:2rem;padding-bottom:2rem;padding-left:1.5rem;padding-right:1.5rem">
<div class="wp-block-vk-blocks-gridcolcard-item-body vk_gridcolcard_item_body is-layout-flow wp-block-vk-blocks-gridcolcard-item-body-is-layout-flow">
<div class="wp-block-group vk_block-margin-sm--margin-bottom is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-94bc23d7 wp-block-group-is-layout-flex" style="border-radius:100px">
<div class="wp-block-group has-white-color has-vk-color-primary-background-color has-text-color has-background" style="border-radius:100px;padding-top:3px;padding-right:20px;padding-bottom:3px;padding-left:20px"><div class="wp-block-group__inner-container is-layout-constrained wp-container-core-group-is-layout-b04e582f wp-block-group-is-layout-constrained">
<p class="has-text-align-center" style="letter-spacing:1px;line-height:1.5">クライアント数</p>
</div></div>
</div>
<div class="wp-block-group is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-41dc1421 wp-block-group-is-layout-flex" style="margin-top:5px;margin-bottom:5px;padding-top:0px;padding-right:20px;padding-bottom:0px;padding-left:20px">
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(1.5rem + 0px);height:calc(1.5rem + 0px)"><i style="font-size:1.5rem" class="fa-regular vk_icon_font fa-building" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(1.5rem + 0px);height:calc(1.5rem + 0px)"><i style="font-size:1.5rem" class="fa-regular vk_icon_font fa-building" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(1.5rem + 0px);height:calc(1.5rem + 0px)"><i style="font-size:1.5rem" class="fa-regular vk_icon_font fa-building" aria-hidden="true"></i></div></div></div>
</div>
<div class="wp-block-group is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-41dc1421 wp-block-group-is-layout-flex" style="margin-top:5px;margin-bottom:5px;padding-top:0px;padding-right:20px;padding-bottom:0px;padding-left:20px">
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2rem + 0px);height:calc(2rem + 0px)"><i style="font-size:2rem" class="fa-regular vk_icon_font fa-building" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2rem + 0px);height:calc(2rem + 0px)"><i style="font-size:2rem" class="fa-regular vk_icon_font fa-building" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2rem + 0px);height:calc(2rem + 0px)"><i style="font-size:2rem" class="fa-regular vk_icon_font fa-building" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2rem + 0px);height:calc(2rem + 0px)"><i style="font-size:2rem" class="fa-regular vk_icon_font fa-building" aria-hidden="true"></i></div></div></div>
</div>
<div class="wp-block-group is-content-justification-center is-nowrap is-layout-flex wp-container-core-group-is-layout-41dc1421 wp-block-group-is-layout-flex" style="margin-top:5px;margin-bottom:5px;padding-top:0px;padding-right:20px;padding-bottom:0px;padding-left:20px">
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2.25rem + 0px);height:calc(2.25rem + 0px)"><i style="font-size:2.25rem" class="fa-regular vk_icon_font fa-building" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2.25rem + 0px);height:calc(2.25rem + 0px)"><i style="font-size:2.25rem" class="fa-regular vk_icon_font fa-building" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2.25rem + 0px);height:calc(2.25rem + 0px)"><i style="font-size:2.25rem" class="fa-regular vk_icon_font fa-building" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2.25rem + 0px);height:calc(2.25rem + 0px)"><i style="font-size:2.25rem" class="fa-regular vk_icon_font fa-building" aria-hidden="true"></i></div></div></div>
<div class="wp-block-vk-blocks-icon vk_icon vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top"><div class="vk_icon_frame is-style-noline"><div class="vk_icon_border has-text-color has-vk-color-primary-color" style="width:calc(2.25rem + 0px);height:calc(2.25rem + 0px)"><i style="font-size:2.25rem" class="fa-regular vk_icon_font fa-building" aria-hidden="true"></i></div></div></div>
</div>
<div class="wp-block-vk-blocks-spacer vk_spacer vk_spacer-type-height"><div class="vk_block-margin-sm--height"></div></div>
<p class="has-text-align-center vk_block-margin-0--margin-bottom vk_block-margin-0--margin-top" style="font-size:3rem;letter-spacing:2px;line-height:1">10,000+</p>
</div>
</div></div>
<style>
.vk_gridcolcard-b8b649e0-e5eb-4b16-94a7-ecb1cdfcc675 {
grid-template-columns:repeat(auto-fit, minmax(100%, 1fr));
gap:15px;
}
@media (min-width: 576px) {
.vk_gridcolcard-b8b649e0-e5eb-4b16-94a7-ecb1cdfcc675 {
grid-template-columns:repeat(auto-fit, minmax(240px, 1fr));
}
}
@media (min-width: 992px) {
.vk_gridcolcard-b8b649e0-e5eb-4b16-94a7-ecb1cdfcc675 {
grid-template-columns:repeat(auto-fit, minmax(280px, 1fr));
}
}
</style></div>
<p></p>
<p><a href="https://ultimatemember.com">公式サイト</a>によると、Ultimate MemberはスコットランドにあるUltimate Member Groupで運営されています。</p>
<p>2015年に創設された運営会社は100%リモートワークの企業であり、6ヶ国の十数人の技術で開発しているようです。</p>
<p>現在でもWordPressの開発者とサポートスペシャリストを募集しています。腕に覚えのあるエンジニアは募集してみるのも面白いでしょう。</p>
<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-speech vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://wakatchi.dev/wp-content/uploads/2022/07/wakatchi_icon_2.jpg" alt=""/><figcaption class="vk_balloon_icon_name">わかっち</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content has-background-color has-luminous-vivid-amber-background-color vk_balloon_content_fullwidth"><span class="vk_balloon_content_before has-text-color has-luminous-vivid-amber-color"></span><span class="vk_balloon_content_after "></span>
<p><a href="https://ultimatemember.com/careers/">キャリアページ</a>には、求められるスキルに「オブジェクト指向プログラミングに関する十分な知識」と書いてるね。たしかに、GitHubにあるソースはとても綺麗で参考になったよ。</p>
</div></div></div>
<p></p>
<h3 class="wp-block-heading" id="vk-htags-eea66085-0285-43c4-8896-edbe6158bc5d">Ultimate Memberの基本機能</h3>
<p><a href="https://ultimatemember.com/features/">公式サイト</a>を参考に、Ultimate Memberの基本機能をご紹介します。</p>
<h4 class="wp-block-heading" id="vk-htags-6339451a-a219-444b-88a5-8a4596e4d4fa">ユーザ管理</h4>
<p>ユーザはWebサイトのフロントエンドから簡単に登録して、会員サイトのメンバーになることができます。ログインしたユーザーには管理ダッシュボードが表示されず、自分がWordPressのユーザーになったことに気づかないでしょう。</p>
<p>ユーザの登録では、自動承認や管理者による手動承認はもちろん、ログイン後の役割の割り当てなどが可能です。</p>
<p>ユーザのログインではスパム対策も充実しており、隠しハニーポットフィールドや、WordPress nonceなど、二重三重のスパム対策保護が自動的に適用されます。</p>
<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><a href="https://wakatchi.dev/wp-content/uploads/2023/10/image.png"><img src="https://wakatchi.dev/wp-content/uploads/2023/10/image-1024x857.png" alt="" class="wp-image-1032" style="aspect-ratio:1.1948658109684946;width:574px;height:auto"/></a></figure>
</div>
<p>またユーザの登録画面やログイン画面は、Ultimate Memgerが提供するフォームビルダーで簡単に構築が可能です。</p>
<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><a href="https://wakatchi.dev/wp-content/uploads/2023/10/image-1.png"><img src="https://wakatchi.dev/wp-content/uploads/2023/10/image-1-1024x752.png" alt="" class="wp-image-1033" style="aspect-ratio:1.3617021276595744;width:663px;height:auto"/></a></figure>
</div>
<p></p>
<h4 class="wp-block-heading" id="vk-htags-3a969d9b-ced1-490d-a394-968ca2d1c2aa">ユーザプロフィール</h4>
<p>サイト固有の要件に合わせて完全にカスタマイズできる、ユーザーのプロフィールをWordPressのサイトに追加します。</p>
<p>ここでいうサイト固有の要件とは、そのサイトに必要となる情報です。例えば人と人が出会うマッチングサイトであれば趣味・嗜好や年齢かもしれませんし、不動産のマッチングであれば不動産購入に関わる情報かもしれません。</p>
<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><a href="https://wakatchi.dev/wp-content/uploads/2023/10/image-2.jpg"><img src="https://wakatchi.dev/wp-content/uploads/2023/10/image-2-1019x1024.jpg" alt="" class="wp-image-1034" style="aspect-ratio:0.9951171875;width:633px;height:auto"/></a></figure>
</div>
<p></p>
<h4 class="wp-block-heading" id="vk-htags-3a969d9b-ced1-490d-a394-968ca2d1c2aa">ユーザの権限</h4>
<p>Ultimate Memberでは、複数のユーザロールを作成し、各ロールの独自の権限と機能を付与できます。</p>
<p><strong><span data-color="#f78da7" style="background: linear-gradient(transparent 60%,rgba(247, 141, 167, 0.7) 0);" class="vk_highlighter">この権限制御は最大の特徴であり、複数のユーザタイプを必要とするサイトを作成する場合は、Ultimate Memberは最適な選択肢と言えるでしょう。</span></strong></p>
<p>メンバーのプロフィールや、投稿ページや固定ページへのアクセスを、権限にもとづいてどこまで表示させるのか、ログインしていなかったらどのページにリダイレクトさせるのかなど、きめ細かく設定できます。</p>
<p>そのため、会員グレード(無料・有料など)に合わせたデジタルコンテンツ販売や、特定会員に限定した投稿の表示などを、PHPで実装することなく簡単に行えます。</p>
<h4 class="wp-block-heading" id="vk-htags-3a969d9b-ced1-490d-a394-968ca2d1c2aa">メンバーディレクトリ</h4>
<p>高度なメンバーディレクトリを使用して、メンバーがお互いを簡単に見つけられるようにします。</p>
<p>特定の役割ごとに表示したり、プロフィール・カバー写真の有無、独自のフィルターなどを使ってメンバーを検索します。</p>
<figure class="wp-block-image size-large"><img src="https://wakatchi.dev/wp-content/uploads/2023/10/image-2-1024x894.png" alt="" class="wp-image-1035"/></figure>
<h4 class="wp-block-heading" id="vk-htags-3a969d9b-ced1-490d-a394-968ca2d1c2aa">カスタムフィールド</h4>
<p>Ultimate Member は、ユーザーから幅広いデータを収集できるさまざまなフィールドタイプを提供します。</p>
<p>WordPressで投稿やタクソノミーなどにフィールドを増やす時は、Advanced Custom Fieldsなどのプラグインを使いますが、Ultimate Memberでは、それらプラグインは不要です。</p>
<div class="wp-block-image">
<figure class="aligncenter size-large is-resized"><a href="https://wakatchi.dev/wp-content/uploads/2023/10/image-3.png"><img src="https://wakatchi.dev/wp-content/uploads/2023/10/image-3-1024x809.png" alt="" class="wp-image-1036" style="aspect-ratio:1.2657601977750308;width:592px;height:auto"/></a></figure>
</div>
<p></p>
<h4 class="wp-block-heading" id="vk-htags-3a969d9b-ced1-490d-a394-968ca2d1c2aa">Eメール</h4>
<p>Ultimate Member は、特定のイベント/トリガーが発生した後にユーザーに送信できる各電子メールのカスタマイズ可能なメールテンプレートを提供します。</p>
<p>Eメールには以下の種類があり、PHPで実装することで独自のメールを拡張することも可能です。</p>
<div class="wp-block-vk-blocks-border-box vk_borderBox vk_borderBox-background-transparent has-text-color has-luminous-vivid-amber-color is-style-vk_borderBox-style-solid-kado-tit-onborder"><div class="vk_borderBox_title_container"><i class=""></i><h4 class="vk_borderBox_title" id="vk-border-box-d8ef55b8-b50d-46a3-a7e4-30cabbb4aea3">Eメールの主な種類</h4></div><div class="vk_borderBox_body">
<ul class="wp-block-list is-style-vk-check-mark">
<li>アカウントのウェルカムメール</li>
<li>アカウントのアクティベーションメール</li>
<li>アカウント承認メール</li>
<li>アカウントが無効化されたメール</li>
<li>アカウント削除メール</li>
<li>パスワードリセットメール</li>
<li>....etc</li>
</ul>
</div></div>
<h4 class="wp-block-heading" id="vk-htags-3a969d9b-ced1-490d-a394-968ca2d1c2aa">ナビゲーションメニューの可視性</h4>
<p>サイトを閲覧している人に応じて異なるメニュー リンクを表示できます。例えばユーザのログイン・ログアウトで表示するメニューを分けたり、会員の種類(グレード)でもメニューを分けることができます。</p>
<h2 class="wp-block-heading" id="vk-htags-466a7b40-f3ce-4d92-8f55-4bf67c1dc60b">Ultimate Memberの拡張機能</h2>
<p>上記の基本機能に加えて、Ultimate Memberでは多くの拡張機能が提供されています。多くの場合は有料で、年額40$ぐらいのものが多いです。</p>
<p>本記事は細かいところまではご紹介せず、別記事でご紹介いたします。</p>
<div class="wp-block-vk-blocks-border-box vk_borderBox vk_borderBox-background-transparent has-text-color has-luminous-vivid-amber-color is-style-vk_borderBox-style-solid-kado-tit-banner"><div class="vk_borderBox_title_container has-background has-luminous-vivid-amber-background-color"><i class=""></i><h4 class="vk_borderBox_title" id="vk-border-box-deda0e23-a6f0-4fe4-860b-b3e60ced4e7b">Ultimate Memberの拡張機能</h4></div><div class="vk_borderBox_body">
<ul class="wp-block-list is-style-vk-triangle-mark">
<li>User Bookmarks<br>ユーザがWebサイトのコンテンツをブックマークできます。</li>
<li>Social Login<br>ユーザがFacebookやX、Linkedinなどを介してサイトに登録し、ログインできるようになります。</li>
<li>User Reviews<br>ユーザが5つ星の評価/レビューシステムを使用してお互いを評価し、レビューできるようになります。</li>
<li>Profile Tabs<br>独自のタブをプロフィールに追加できます。</li>
<li>Private Messages<br>メンバー間のプライベートメッセージシステムをWebサイトに追加し、ユーザが相互にメッセージできるようになります。</li>
<li>User Tags<br>Webサイトに独自のユーザタグシステムを追加できます。</li>
<li>Real-Time Notifications<br>通知システムをWebサイトに追加して、ユーザがリアルタイムに通知を受信できるようにします。</li>
<li>Notices<br>条件付きの通知を使用して、重要な情報をユーザに警告します。</li>
<li>User Notes<br>ユーザーが自分のプロフィールから公開メモと非公開メモを作成できるようになります。</li>
<li>Private Content<br>ログインしているユーザのみがアクセスできるプライベートコンテンツを表示できます。</li>
<li>Followers<br>ユーザが相互にフォローできるようにすることで、サイト上でユーザ間のインタラクションを増やします。</li>
<li>Groups<br>ユーザーが共有トピックや興味などに関するグループを作成し、そこに参加できるようにします。</li>
<li>Social Activity<br>ユーザの公開ウォール投稿を作成し、他のユーザのアクティビティを確認できるようになります。</li>
<li>Team & Conditions<br>登録フォームに利用規約を追加します。</li>
<li>Verified Users<br>ユーザの検証システムをサイトに追加して、ユーザアカウントを検証できるようにします。</li>
<li>Online Users<br>サイトにオンラインユーザを表示して、誰がオンラインであるかを確認できるようになります。</li>
<li>Profile Completeness<br>ユーザにWebサイト上でプロフィールを完成させるように奨励または強制することができます。</li>
<li>Friends<br>ユーザーがフレンドになれるようにすることで、サイト上でユーザのインタラクションを増やします。</li>
<li>User Locations<br>ユーザーが自分の位置を追加し、地図上にユーザの位置を表示できるようにします。</li>
<li>User Photos<br>ユーザが自分のプロフィールに写真をアップロードできるようにします。</li>
</ul>
</div></div>
<h2 class="wp-block-heading" id="issue">Ultimate Memberの課題</h2>
<p>柔軟なカスタマイズができるUltimate Memberですが、マッチングサイトの運営していくなかでいくつか課題があることがわかっています。</p>
<div class="wp-block-vk-blocks-border-box vk_borderBox vk_borderBox-background-transparent has-text-color has-vivid-purple-color is-style-vk_borderBox-style-solid-round-tit-tab"><div class="vk_borderBox_title_container has-background has-vivid-purple-background-color"><i class="fa-solid fa-circle-exclamation" aria-hidden="true"></i><h4 class="vk_borderBox_title" id="vk-border-box-26ca3588-1afc-4536-98c5-bbeb2ac412c4">Ultimate Memberの課題</h4></div><div class="vk_borderBox_body">
<ul class="wp-block-list is-style-vk-arrow-mark">
<li><a href="#customization-can-be-complicated" data-type="internal" data-id="#customization-can-be-complicated">カスタマイズが複雑になりがち</a></li>
<li><a href="#unsatisfactory" data-type="internal" data-id="#unsatisfactory">無料版で作ったマッチングサイトは物足りない(かもしれない)</a></li>
<li><a href="#japaneseization" data-type="internal" data-id="#japaneseization">拡張機能の日本語対応</a></li>
<li><a href="#seo" data-type="internal" data-id="#seo">SEOの最適化</a></li>
</ul>
</div></div>
<p>ただ、<span data-color="#f78da7" style="background: linear-gradient(transparent 60%,rgba(247, 141, 167, 0.7) 0);" class="vk_highlighter"><strong>これらの課題は適切な対策と設定によって十分に克服できます。</strong></span></p>
<p>マッチングサイトの運営者はUltimate Membernの構築と運用に関する最新のベストプラクティスを把握して、ユーザーフレンドリーなコミュニティを構築する努力を行うことが重要になります。</p>
<h3 class="wp-block-heading" id="customization-can-be-complicated">カスタマイズが複雑になりがち</h3>
<p>Ultimate MemberはアクションフックやAPI、拡張のためのサンプルなど多く公開されており、非常にカスタマイズ可能なプラグインのため、一方で、デザインや設定の変更には一定の技術力が求められます。</p>
<p>特にWordPressやPHPの初心者には、Ultimate Member導入にはある程度の学習が必要です。</p>
<h3 class="wp-block-heading" id="unsatisfactory">無料版で作ったマッチングサイトは物足りない(かもしれない)</h3>
<p>Ultimate Memberが提供する基本機能自体はとても強力ですが、マッチングサイトの要件を満たすためにはそれでは物足りず、別のプラグインやUltimate Memberの拡張機能が必要なことがあります。</p>
<p>そのため、マッチングサイトはUltimate Memberのみでは完結せず、サイトの複雑性が増す可能性があります。また、Ultimate Memberの拡張機能の多くはプレミアム版(有料)であり、追加費用が発生する場合があります。</p>
<p>サイトを複雑にしないためにも、初期にマッチングサイトの要件を整理しておくことが大事です。</p>
<h3 class="wp-block-heading" id="japaneseization">拡張機能の日本語化</h3>
<p>Ultimate Memberの基本機能は概ね日本語化されているものの、ソーシャルログインやフレンドなどの拡張機能はほぼ全て日本語化されておらず、マッチングサイトのユーザは不便に感じるかもしれません。</p>
<p>Ultimate Memberの基本機能や拡張機能を日本語化には、翻訳ファイル(.poファイル、.moファイル)をWordPressにアップロードする必要があります。</p>
<h3 class="wp-block-heading" id="seo">SEOの最適化</h3>
<p>これは別のプラグインでも同じことが言えますが、Ultimate MemberではSEOの最適化に関する機能は提供されないため、Googleなどの検索エンジンで上位表示をするためには、別のSEOプラグインを導入する必要があります。</p>
<p>SEOの最適化については、Ultimate Memberではなく、例えばサイトのテーマの機能に頼るほうが良いでしょう。</p>
<h2 class="wp-block-heading" id="vk-htags-4747e283-1769-4974-bfb0-8ffa25887dc0">Ultimate Memberのソースコードやドキュメント</h2>
<p>Ultimate Memberの基本機能のソースコードはGitHubで公開されています。もちろんWordPressのプラグインフォルダでもソースコードを見ることもできます。</p>
<div class="wp-block-vk-blocks-blog-card has-border-color is-layout-flow wp-block-vk-blocks-blog-card-is-layout-flow" style="border-color:#0000001f;border-width:1px;border-radius:5px;padding-top:var(--wp--preset--spacing--20);padding-right:var(--wp--preset--spacing--20);padding-bottom:var(--wp--preset--spacing--20);padding-left:var(--wp--preset--spacing--20)">
<div class="wp-block-columns is-layout-flex wp-container-core-columns-is-layout-a26d1989 wp-block-columns-is-layout-flex">
<div class="wp-block-column is-vertically-aligned-top is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:33.3%"><figure class="wp-block-vk-blocks-blog-card-featured-image"><a href="https://github.com/ultimatemember/ultimatemember" target="_self" ><img src='https://opengraph.githubassets.com/ae4ec87bcac8d12c8e2e7bcb369b013cd97a0058b736695c0c285e8bc1922cb4/ultimatemember/ultimatemember' class="has-border-color" style="border-color:#0000001f;border-radius:5px;border-width:1px;object-fit:cover;" /></a></figure></div>
<div class="wp-block-column is-layout-flow wp-block-column-is-layout-flow" style="flex-basis:66.6%"><h5 class="wp-block-vk-blocks-blog-card-title"><a href="https://github.com/ultimatemember/ultimatemember" target="_self" >GitHub - ultimatemember/ultimatemember: The easiest way to create powerful online communities and beautiful user profiles with WordPress · GitHub</a></h5>
<div class="wp-block-vk-blocks-blog-card-excerpt"><p class="wp-block-vk-blocks-blog-card-excerpt__excerpt">The easiest way to create powerful online communities and beautiful user profiles with WordPress - ultimatemember/ultimatemember</p></div>
<div class="wp-block-group is-nowrap is-layout-flex wp-container-core-group-is-layout-d0dec0cd wp-block-group-is-layout-flex"><figure class="wp-block-vk-blocks-blog-card-site-logo wp-container-content-b8e8afd0"><a href="https://github.com" target="_self" ><img src='https://github.githubassets.com/favicons/favicon.svg' /></a></figure>
<p class="wp-block-vk-blocks-blog-card-site-title"><a href="https://github.com" target="_self" >GitHub</a></p></div>
</div>
</div>
</div>
<p>また、<a href="https://docs.ultimatemember.com/" data-type="link" data-id="https://docs.ultimatemember.com/">公式サイトでもドキュメントが充実</a>しており、PHPで拡張する際もあまり困ることはないでしょう。</p>
<h2 class="wp-block-heading" id="vk-htags-ee152e9f-b054-4909-9339-7f481df7c61c">まとめ</h2>
<p>今回は、マッチングサイトを手軽に構築できるWordPressのUltimate Memberプラグインをご紹介しました業者が見積もるマッチングサイトの構築費用に驚いたことはありませんか?いざ導入に向けて業者に見積りを依頼すると、500万〜1,000万の価格が掲示された、ということが少なくありません。</p>
<p>Ultimate Memberでは、人と人、ものと人、サービスと人などさまざまなマッチングができるサイトを手軽に構築できます。<span data-color="#f78da7" style="background: linear-gradient(transparent 60%,rgba(247, 141, 167, 0.7) 0);" class="vk_highlighter"><strong>業者に頼ることなく、マッチングサイトを小さく立ち上げてみるのにUltimate Memberは役立つことでしょう。</strong></span></p>
<p>一方で、<a href="#issue" data-type="internal" data-id="#issue">Ultimate Memberの課題</a>もあります。ただそれは、対策と設定、そして技術力で十分克服できます。</p>
<div class="wp-block-vk-blocks-balloon vk_balloon vk_balloon-position-left vk_balloon-type-think vk_balloon-animation-none"><div class="vk_balloon_icon"><figure><img class="vk_balloon_icon_image vk_balloon_icon_image-type-normal " src="https://wakatchi.dev/wp-content/uploads/2022/07/cropped-wakatchi_icon_2.jpg" alt=""/><figcaption class="vk_balloon_icon_name">わかっち</figcaption></figure></div><div class="vk_balloon_content_outer"><div class="vk_balloon_content has-background-color has-luminous-vivid-amber-background-color "><span class="vk_balloon_content_before "></span><span class="vk_balloon_content_after "></span>
<p>Ultimate Memberは技術力があるエンジニア向け。そういう考え方で開発されているからこそ、柔軟なカスタマイズ可能な強力なプラグインだよ</p>
</div></div></div>
<p>次回からは、実際のマッチングサイトの作り方や拡張プラグイン、カスタマイズに小ネタなどをご紹介していきます。</p>
<p>本記事が、マッチングサイト導入に向けて少しでもお役に立てれば幸いです。<br>最後までお読みいただき、ありがとうございました!</p>
<p></p>
こんにちわ、わかっち (@wakatchi_tech) です。
マッチングサイトを手軽に構築したいんだけど、どんな方法がありますか?
いまやブログだけではなく大規模サイトまで作れるWordPressですが、みなさんはWordPressでマッチングサイトを手軽に構築できることをご存じでしょうか?
マッチングサイトを構築できるWordPressのプラグインは、BuddyPressやPeepSo、MemberPress、Ultimate Memberなど数多くありますが、どれを選択するかは具体的な要件や好みに応じて異なります。
この記事では、Ultimate Memberというプラグインをご紹介します。
Ultimate Memberは多くの拡張プラグインが用意されており、マッチングサイトの要件に応じて柔軟に構築できます。また、APIやアクションフック、さまざまなカスタマイズ方法など、エンジニアを助けるドキュメントが多く公開されており、とても拡張性があるマッチングサイトのプラグインです。
この記事は次のような方にお勧めです
- マッチングサイトを低価格で構築したい
- WordPressを使ったマッチングサイト構築に興味がある
- WordPressを使ってマッチングサイトを構築したいがプラグインの選定に悩んでいる
Ultimate Memberは、ユーザ管理やプロフィール、ユーザ毎の権限編集やコンテンツ制限などのさまざまな機能を提供する、WordPressの会員制サイトやマッチングサイトを構築できるプラグインです。基本的な機能は全て無料で提供されており、手軽に使い始めることができます。
Webサイトの運営者は、Webサイト上のコミュニティや有料性の会員サイト、ブログ、フォーラム、LMS(学習管理システム)など、さまざまなWebプロジェクトで活用できます。
公式サイトによると、Ultimate MemberはスコットランドにあるUltimate Member Groupで運営されています。
2015年に創設された運営会社は100%リモートワークの企業であり、6ヶ国の十数人の技術で開発しているようです。
現在でもWordPressの開発者とサポートスペシャリストを募集しています。腕に覚えのあるエンジニアは募集してみるのも面白いでしょう。
わかっち
キャリアページには、求められるスキルに「オブジェクト指向プログラミングに関する十分な知識」と書いてるね。たしかに、GitHubにあるソースはとても綺麗で参考になったよ。
公式サイトを参考に、Ultimate Memberの基本機能をご紹介します。
ユーザはWebサイトのフロントエンドから簡単に登録して、会員サイトのメンバーになることができます。ログインしたユーザーには管理ダッシュボードが表示されず、自分がWordPressのユーザーになったことに気づかないでしょう。
ユーザの登録では、自動承認や管理者による手動承認はもちろん、ログイン後の役割の割り当てなどが可能です。
ユーザのログインではスパム対策も充実しており、隠しハニーポットフィールドや、WordPress nonceなど、二重三重のスパム対策保護が自動的に適用されます。
またユーザの登録画面やログイン画面は、Ultimate Memgerが提供するフォームビルダーで簡単に構築が可能です。
サイト固有の要件に合わせて完全にカスタマイズできる、ユーザーのプロフィールをWordPressのサイトに追加します。
ここでいうサイト固有の要件とは、そのサイトに必要となる情報です。例えば人と人が出会うマッチングサイトであれば趣味・嗜好や年齢かもしれませんし、不動産のマッチングであれば不動産購入に関わる情報かもしれません。
Ultimate Memberでは、複数のユーザロールを作成し、各ロールの独自の権限と機能を付与できます。
この権限制御は最大の特徴であり、複数のユーザタイプを必要とするサイトを作成する場合は、Ultimate Memberは最適な選択肢と言えるでしょう。
メンバーのプロフィールや、投稿ページや固定ページへのアクセスを、権限にもとづいてどこまで表示させるのか、ログインしていなかったらどのページにリダイレクトさせるのかなど、きめ細かく設定できます。
そのため、会員グレード(無料・有料など)に合わせたデジタルコンテンツ販売や、特定会員に限定した投稿の表示などを、PHPで実装することなく簡単に行えます。
高度なメンバーディレクトリを使用して、メンバーがお互いを簡単に見つけられるようにします。
特定の役割ごとに表示したり、プロフィール・カバー写真の有無、独自のフィルターなどを使ってメンバーを検索します。
Ultimate Member は、ユーザーから幅広いデータを収集できるさまざまなフィールドタイプを提供します。
WordPressで投稿やタクソノミーなどにフィールドを増やす時は、Advanced Custom Fieldsなどのプラグインを使いますが、Ultimate Memberでは、それらプラグインは不要です。
Ultimate Member は、特定のイベント/トリガーが発生した後にユーザーに送信できる各電子メールのカスタマイズ可能なメールテンプレートを提供します。
Eメールには以下の種類があり、PHPで実装することで独自のメールを拡張することも可能です。
Eメールの主な種類
- アカウントのウェルカムメール
- アカウントのアクティベーションメール
- アカウント承認メール
- アカウントが無効化されたメール
- アカウント削除メール
- パスワードリセットメール
- ....etc
サイトを閲覧している人に応じて異なるメニュー リンクを表示できます。例えばユーザのログイン・ログアウトで表示するメニューを分けたり、会員の種類(グレード)でもメニューを分けることができます。
上記の基本機能に加えて、Ultimate Memberでは多くの拡張機能が提供されています。多くの場合は有料で、年額40$ぐらいのものが多いです。
本記事は細かいところまではご紹介せず、別記事でご紹介いたします。
Ultimate Memberの拡張機能
- User Bookmarks
ユーザがWebサイトのコンテンツをブックマークできます。
- Social Login
ユーザがFacebookやX、Linkedinなどを介してサイトに登録し、ログインできるようになります。
- User Reviews
ユーザが5つ星の評価/レビューシステムを使用してお互いを評価し、レビューできるようになります。
- Profile Tabs
独自のタブをプロフィールに追加できます。
- Private Messages
メンバー間のプライベートメッセージシステムをWebサイトに追加し、ユーザが相互にメッセージできるようになります。
- User Tags
Webサイトに独自のユーザタグシステムを追加できます。
- Real-Time Notifications
通知システムをWebサイトに追加して、ユーザがリアルタイムに通知を受信できるようにします。
- Notices
条件付きの通知を使用して、重要な情報をユーザに警告します。
- User Notes
ユーザーが自分のプロフィールから公開メモと非公開メモを作成できるようになります。
- Private Content
ログインしているユーザのみがアクセスできるプライベートコンテンツを表示できます。
- Followers
ユーザが相互にフォローできるようにすることで、サイト上でユーザ間のインタラクションを増やします。
- Groups
ユーザーが共有トピックや興味などに関するグループを作成し、そこに参加できるようにします。
- Social Activity
ユーザの公開ウォール投稿を作成し、他のユーザのアクティビティを確認できるようになります。
- Team & Conditions
登録フォームに利用規約を追加します。
- Verified Users
ユーザの検証システムをサイトに追加して、ユーザアカウントを検証できるようにします。
- Online Users
サイトにオンラインユーザを表示して、誰がオンラインであるかを確認できるようになります。
- Profile Completeness
ユーザにWebサイト上でプロフィールを完成させるように奨励または強制することができます。
- Friends
ユーザーがフレンドになれるようにすることで、サイト上でユーザのインタラクションを増やします。
- User Locations
ユーザーが自分の位置を追加し、地図上にユーザの位置を表示できるようにします。
- User Photos
ユーザが自分のプロフィールに写真をアップロードできるようにします。
Ultimate Memberの課題
柔軟なカスタマイズができるUltimate Memberですが、マッチングサイトの運営していくなかでいくつか課題があることがわかっています。
ただ、これらの課題は適切な対策と設定によって十分に克服できます。
マッチングサイトの運営者はUltimate Membernの構築と運用に関する最新のベストプラクティスを把握して、ユーザーフレンドリーなコミュニティを構築する努力を行うことが重要になります。
カスタマイズが複雑になりがち
Ultimate MemberはアクションフックやAPI、拡張のためのサンプルなど多く公開されており、非常にカスタマイズ可能なプラグインのため、一方で、デザインや設定の変更には一定の技術力が求められます。
特にWordPressやPHPの初心者には、Ultimate Member導入にはある程度の学習が必要です。
無料版で作ったマッチングサイトは物足りない(かもしれない)
Ultimate Memberが提供する基本機能自体はとても強力ですが、マッチングサイトの要件を満たすためにはそれでは物足りず、別のプラグインやUltimate Memberの拡張機能が必要なことがあります。
そのため、マッチングサイトはUltimate Memberのみでは完結せず、サイトの複雑性が増す可能性があります。また、Ultimate Memberの拡張機能の多くはプレミアム版(有料)であり、追加費用が発生する場合があります。
サイトを複雑にしないためにも、初期にマッチングサイトの要件を整理しておくことが大事です。
拡張機能の日本語化
Ultimate Memberの基本機能は概ね日本語化されているものの、ソーシャルログインやフレンドなどの拡張機能はほぼ全て日本語化されておらず、マッチングサイトのユーザは不便に感じるかもしれません。
Ultimate Memberの基本機能や拡張機能を日本語化には、翻訳ファイル(.poファイル、.moファイル)をWordPressにアップロードする必要があります。
SEOの最適化
これは別のプラグインでも同じことが言えますが、Ultimate MemberではSEOの最適化に関する機能は提供されないため、Googleなどの検索エンジンで上位表示をするためには、別のSEOプラグインを導入する必要があります。
SEOの最適化については、Ultimate Memberではなく、例えばサイトのテーマの機能に頼るほうが良いでしょう。
Ultimate Memberの基本機能のソースコードはGitHubで公開されています。もちろんWordPressのプラグインフォルダでもソースコードを見ることもできます。
The easiest way to create powerful online communities and beautiful user profiles with WordPress - ultimatemember/ultimatemember
また、公式サイトでもドキュメントが充実しており、PHPで拡張する際もあまり困ることはないでしょう。
今回は、マッチングサイトを手軽に構築できるWordPressのUltimate Memberプラグインをご紹介しました業者が見積もるマッチングサイトの構築費用に驚いたことはありませんか?いざ導入に向けて業者に見積りを依頼すると、500万〜1,000万の価格が掲示された、ということが少なくありません。
Ultimate Memberでは、人と人、ものと人、サービスと人などさまざまなマッチングができるサイトを手軽に構築できます。業者に頼ることなく、マッチングサイトを小さく立ち上げてみるのにUltimate Memberは役立つことでしょう。
一方で、Ultimate Memberの課題もあります。ただそれは、対策と設定、そして技術力で十分克服できます。
わかっち
Ultimate Memberは技術力があるエンジニア向け。そういう考え方で開発されているからこそ、柔軟なカスタマイズ可能な強力なプラグインだよ
次回からは、実際のマッチングサイトの作り方や拡張プラグイン、カスタマイズに小ネタなどをご紹介していきます。
本記事が、マッチングサイト導入に向けて少しでもお役に立てれば幸いです。
最後までお読みいただき、ありがとうございました!