2026年11月13日
2026年11月13日
Accepting Guest Posts in WordPress: Contributor Role, rel and SEO
This article is a localized edition of the Japanese original. Read the Japanese original
A guest post is an article written by someone outside your site that you publish on your site. In WordPress, if you give the writer an account with the "Contributor" role, the writer can write a draft and submit it for review, while your side decides whether to publish it.
On the SEO side, adding helpful, expert articles for readers has value, but guest posts aimed at getting links are listed as an example of link spam in Google's spam policies. Both the hosting site and the writer need to put the content first and add appropriate rel attributes to links.
Google's policies in this article follow Google Search Central as of November 2026, and the WordPress screens and permissions follow WordPress 6.9 (Japanese).
What to know about Google’s policies
Google's spam policies list links like the following as examples of link spam.
- Links with anchor text (the link wording) optimized for search inside articles, guest posts or press releases distributed to other sites
- Publishing articles containing links that affect rankings in exchange for payment
On the other hand, the policies say paid links are not a violation as long as they carry rel="sponsored" or rel="nofollow".
There is also a "site reputation abuse" policy, which covers publishing third-party content mainly to take advantage of the host site's search ranking signals. Publishing third-party content is not a violation in itself, and columns, opinion pieces and other editorial content are given as examples that are not violations. The example given of a violation is an educational site publishing sponsored reviews of short-term high-interest loans (payday loans) written by a third party that distributes the same page to other sites.
In short, three things matter with guest posts.
| Aspect | Hosting site | Writer |
|---|---|---|
| Content | Publish only articles that fit the site's subject and help readers. An editor reviews the content | Write for the host site's readers. Do not distribute the same article to multiple sites |
| Links | Add rel="sponsored" to paid or promotional links and rel="nofollow" to links you do not vouch for |
Do not make getting links the goal. Do not stuff search keywords into anchor text |
| Showing the writer | Show who wrote the article | Write under your own name and background |
Step 1: Create the writer’s account as a “Contributor”
In the admin screen, go to "Users" → "Add New User", enter a username and email address, choose "Contributor" under "Role", and add the user. If you check "Send User Notification", the writer receives an email for setting a password.
With WP-CLI, do the following.
# Create a user with the Contributor role and send the password setup email
wp user create guest_writer writer@example.com --role=contributor --display_name="Hanako Yamada" --send-email
The differences between "Contributor" and "Author" are as follows. "Contributor" suits first-time writers.
| What they can do | Contributor | Author |
|---|---|---|
| Write and save their own posts | Yes | Yes |
| Publish posts | No (submits for review) | Yes |
| Upload images and other files | No | Yes |
| Edit their own posts after publication | No | Yes |
Contributors cannot upload images, so receive images by email or similar, and have an editor upload them and add them to the post. The differences between roles are explained in detail in The list of WordPress user roles.
Step 2: The writer clicks “Submit for Review”
When a contributor opens the post editor, a "Submit for Review" button appears instead of "Publish". Clicking it after finishing puts the post into the pending review state.
Step 3: An editor reviews pending posts and publishes them
In the admin screen, go to "Posts" → "All Posts" and click "Pending" at the top to show only the posts waiting for review. With WP-CLI, you can list them with the following command.
wp post list --post_status=pending --fields=ID,post_title,post_author,post_date
Things to check before publishing:
- Whether it fits the site's subject and has no factual errors
- Whether it is a copy of text published on another site or a reused article (search for part of the text to check)
- Whether the linked pages are needed for the article's content, and whether the link wording is unnaturally stuffed with keywords
- Whether promotional or paid links carry the
relattribute from Step 4
If there are no problems, click "Publish" in the editor. If something needs fixing, contact the writer and have them take it back to draft.
Step 4: Add rel attributes to links
Google asks you to indicate the nature of outbound links with the rel attribute.
| Value | Links to add it to |
|---|---|
sponsored |
Ads, sponsorships and links placed in exchange for payment |
ugc |
Links inside content written by users, such as comments and forums |
nofollow |
Links that fit none of the above, where you do not vouch for the relationship or do not want to pass ranking credit |
Values can also be combined, as in rel="sponsored nofollow".
In the block editor, add them as follows.
- nofollow: select the link text, open the link editor, and turn on "Mark as nofollow" under "Advanced".
- sponsored: the editor has no toggle for it, so open the paragraph block's "Options" (three vertical dots) → "Edit as HTML" and add
rel="sponsored"to theatag.
<a href="https://example.com/product/" rel="sponsored">Official product page</a>
Links written by contributors are also brought into this form by an editor before publication. For details on adding nofollow, see How to set the nofollow attribute correctly in WordPress.
Step 5: Show the writer’s information on the post
Set up the writer's profile so readers can see who wrote the article.
- Open the writer in "Users" → "All Users", enter their real name or pen name in "First Name"/"Last Name" or "Nickname", then choose that name in "Display name publicly as".
- Write a few lines about their background and expertise in "Biographical Info".
- Check on the published page that the author name and profile appear. How they are shown depends on the theme; in many themes the author name links to that writer's list of posts (the author archive).
For building author pages, see Customizing the author page with author.php in WordPress; for presenting writer information, E-E-A-T measures that matter for WordPress SEO also helps.
When you write guest posts for other sites
The same thinking applies when you are the writer publishing on another site.
- Write an article for the host site's readers, only for that site.
- If you include a link to your own site, put it where the content needs it, with natural wording. If a link is a condition of publication, or you pay to have a link placed, ask the host to add
rel="sponsored"orrel="nofollow". - Do not distribute the same article, or slightly altered versions of it, to multiple sites.
Related articles
- The list of WordPress user roles: what each can do and how to change them
- How to set the nofollow attribute correctly in WordPress
- E-E-A-T measures that matter for WordPress SEO
References: Spam policies for Google web search (Google Search Central), Qualify your outbound links to Google, Roles and Capabilities (WordPress.org)
Questions about WordPress? The publisher of this site is based in Japan and replies in Japanese. Contact (Japanese)