Integrate posts from WordPress into Microsoft Search results (Preview)

Microsoft introduced some new Graph connectors at the last Ignite conference. They have been available as a public preview since mid-December.

  • GitHub (repositories)
  • Google Drive (files)
  • Jira Data Center (issues)
  • PostgreSQL (records)
  • Salesforce (knowledge base articles)
  • Stack Overflow (QnA)
  • WordPress (webpages)
  • Zendesk (help center articles)
  • Zoom (meeting transcripts)
Neue Graph Konnektoren in Public Preview
New Graph connectors in public preview

Organizations can extend search results in Microsoft Search with the Graph connectors. When using Microsoft 365 Copilot, the connectors should also be available as extensions in chats.

Microsoft Graph connectors enable you to index enterprise content in third-party systems for knowledge extension in Microsoft 365 Copilot.
Upon configuration of Graph connectors, your end users will be able to prompt Copilot to ask queries about the indexed content. Your end users will also be able to search for the content in any of the Microsoft Search clients like SharePoint, Microsoft 365 (Office) app etc.

Content from external sources is defined as Graph Connectors Items.

  • Max. 5 million items per connector (more via a manual request).
  • Max. 50 million items per tenant.
  • Max. 30 connectors per tenant.

There is also a connector for WordPress. I tested the connector with my blog.
You need to know the following requirements for the WordPress connector.

  • The connector supports self-hosted WordPress sites. If you use WordPress via wordpress.com, you can’t use the connector.
  • You must manage the WordPress site yourself, with the option of full access to connect it to the connector. The integration of third-party WordPress blogs is not possible with the connector.
  • You need a Graph Connector Agent on a Windows server or client that you manage.
  • The WordPress connector requires permanent full access to your WordPress site, meaning a WordPress account with the Administrator role.

To connect to your WordPress.org-built website and allow Microsoft Graph Connector to update published posts and pages regularly, you need an admin user account of your WordPress.org-built website with the permission to create an application password.

From a practical point of view and “least privileges,” you should stop your implementation with that requirement.
I don’t understand why the admin role is required for this task. To read posts, including those from other authors, having an admin role doesn’t seem necessary. In practical terms, the Author role should be adequate. Unfortunately, Microsoft hasn’t provided any explanation for this requirement.

The connector will show an error the login does not work if the administrator role is not assigned.

Fehlerhafte Anmeldung mit WordPress Konto ohne Admin Rolle
Login error for WordPress accounts without an admin role

I configured all the necessary steps for my practical test and this post. Personally, I do not recommend it.

 

1) Deploy the Graph Connector Agent

As mentioned in the requirement, you need a Graph Connector Agent locally on a Windows server or client. Instructions from Microsoft should guide you through the configuration. If you already have an agent in use, you can use it. Microsoft recommends using no more than three connectors per agent.

  • A service account requires the Search Administrator role with Active Assignment in Entra ID.
  • The Azure app requires two predefined permissions:
    • ExternalItem.ReadWrite.OwnedBy or ExternalItem.ReadWrite.All
    • ExternalConnection.ReadWrite.OwnedBy
Graph Connector Agent
Graph Connector Agent
2) Provide a WordPress account

You need to provide an account with the Administrator role in WordPress.

Benutzerkonto mit der Rolle Administrator ist erforderlich
User account with the Administrator role is required

You must create an app password for the account. Edit the account, scroll to Application Passwords, and create a new password. The password will only be displayed once.
App passwords can be disabled in WordPress for security reasons. The section is missing in that case.

Application Password in WordPress erstellen
Create an application password in WordPress

 

3) Configure the WordPress connector

Your account requires the Search Administrator role in Entra ID for the configuration.

  1. Open the Search Admin Center and select Data Sources.

You should know that the site is very unstable and has constant errors. Try it several times; it will eventually work (at least for a very short time). Unfortunately, this is not a temporary problem.

Permanante Fehler bei der Konfiguration von Graph Connectors
Permanent errors with the configuration of Graph connectors
  1. Create a new connection and choose WordPress.org.

Note that you cannot edit a published connector later. Be careful not to forget anything in the connector or on typos, otherwise you will have to recreate the connector. It will take a lot of time due to the instability.

There are limited edit capabilities that are supported after publishing a connection. If you need to change any details other than the ones enabled, you must delete and recreate the connection.

WordPress Connector konfigurieren
Configure your WordPress connector

You can change the sync times in the connector (see Refresh Settings). The sync controls how often the connector should refresh his content. You can edit the time later.

  1. Wait for the first synchronization.

The new connector has been prepared, and the first synchronization is running. This initial full crawl may take some time, so be patient until the connector indicates that it is ready.
In that state, the editing possibilities for the connector are limited. Making a change will require you to recreate the connector.

Abwarten bis erste Synchronisierung abgeschlossen ist
Wait until the first synchronization is completed

Results from the connector will be available in Microsoft Search within the next minutes/hours.

Statistik über indexierte Items
Statistics on indexed items

In a practical view, the statistics are near the English posts I have published on my blog.

Screenshot
4) Add a new Search Vertical

You should set up a new Search Vertical to filter results from the connector. This is an optional task.
The content from the connector is already in the index. With the search vertical, you add a simple filter option to the search results.

Filtermöglichkeit ohne Search Vertical
Filter option without the search vertical
  1. Open the configuration for Search Vertical in the Search Admin Center.
  2. Create a new Search Vertical and choose the newly created WordPress connector. You can select it only after the first synchronization has been completed.
Search Vertical konfigurieren
Configure Search Vertical
  1. More filters.

Optionally, the results can be pre-filtered using a KQL query and other user-defined filters. This can be changed later.

Benutzerdefinierte Filter im WordPress Connector
Custom filters in the WordPress connector
  1. Enable the Search Vertical.

The search vertical is enabled and listed in the Search verticals overview. It takes a few minutes for a new search vertical to appear in the Microsoft Search results.

Search Verticals für Microsoft 365 Search
Search verticals for Microsoft 365 Search
5) Content from WordPress in Microsoft Search

When searching in Microsoft Search, it should include the content from WordPress after a short time. Since it is a connector optimized for WordPress, metadata such as title, excerpt, and publication date are displayed correctly (compared to the Enterprise Website Cloud connector). I have already tested this.

WordPress Beiträge in Microsoft Search
WordPress posts in Microsoft Search
6) Deleting a connector

Search administrators can delete a connector in the Search Admin Center anytime. The process takes a few minutes, and all indexed data is also removed. I recommend to wait a few hours before recreating the connector.

Delete a search connector
Share
Avatar photo

Tobias Asböck

Tobias is a Senior System Engineer with around ten years of professional experience with Microsoft 365 products such as SharePoint Online, SharePoint Premium, OneDrive for Business, Teams Collaboration, Entra ID, Information Protection, Universal Print, and Microsoft 365 Licensing. He also has 15+ years of experience planning, administering, and operating SharePoint Server environments. Tobias is a PowerShell Scripter with certifications for Microsoft 365 products. In his spare time, Tobias is busy with updates in the Microsoft 365 world or on the road with his road bike and other sports activities. If you have additional questions, please contact me via LinkedIn or [email protected].

Leave a Reply

Your email address will not be published. Required fields are marked *