After migrating files to SharePoint, you may find that searches return no results or show only file names without content. This happens because the search index must be rebuilt for the new location, or because file properties were not preserved during migration. The search crawler may also skip files if they are marked as read-only or if the migration tool did not copy the content correctly. This article explains why file content fails to index after a migration and provides user-safe steps to force re-indexing without requiring admin access.
Key Takeaways: Fixing Missing Search Results After Migration
- Site settings > Search and offline availability > Reindex site: Forces SharePoint to re-crawl all content in a site collection after migration.
- Site settings > Search and offline availability > Reindex list or library: Re-indexes only a specific document library to save time.
- File version history check: Ensure at least one major version exists so the crawler reads the file content.
Why File Content Is Not Indexed After Migration
SharePoint Search relies on a crawl schedule to read and index file content. When files are migrated using tools like SharePoint Migration Tool (SPMT), third-party tools, or manual upload, the search crawler may not automatically re-crawl the new location. The migration process copies files and metadata but does not trigger a full re-index. As a result, the search index still contains stale or missing entries for the migrated content.
Another common cause is that files are migrated with read-only permissions or are checked out. SharePoint Search cannot index checked-out files because the content is locked. Additionally, if the migration tool does not preserve the file’s Last Modified date, the crawler may skip the file if it thinks the file has not changed.
Search Schema and Crawl Rules
The search schema defines which metadata properties are indexed. If the migration changed file types or extensions, the default crawl rules may exclude them. For example, files with the extension .tmp or .bak are not indexed by default. Similarly, files larger than the crawl limit (default 150 MB) are skipped unless the admin adjusts the limit.
Steps to Force Re-indexing of Migrated Content
You can force SharePoint to re-crawl a site or library without needing admin access to the search service. These steps work for SharePoint Online and SharePoint Server 2013 and later.
- Reindex the entire site
Go to the site where the files were migrated. Click the gear icon (Settings) and select Site settings. Under Search, click Search and offline availability. In the Indexing site content section, click Reindex site. A confirmation message appears. Click OK. This marks the entire site for re-crawling on the next scheduled crawl. - Reindex a specific document library
If you only migrated files to one library, reindex only that library. Open the library, click the gear icon, and select Library settings. Under General settings, click Advanced settings. In the Search section, set Allow items from this document library to appear in search results? to Yes. Click OK. Then, on the library settings page, click Search and offline availability and click Reindex list or library. - Ensure files are checked in and have a major version
SharePoint Search only indexes files that are checked in and have at least one major version. If your migration tool left files checked out, check them in. Open the library, select all migrated files, click the ellipsis (…), and choose More > Check in. If versioning is enabled, ensure the latest version is a major version (not a draft). - Verify file permissions allow the crawler
The search crawler uses a system account that must have at least Read access to the files. If you set unique permissions on the library or individual files, the crawler may be blocked. Grant the system account (NT AUTHORITY\NETWORK SERVICE for SharePoint Server, or the SharePoint Online crawler account) Read access. In SharePoint Server, this is usually configured in the search service application. In SharePoint Online, permissions are inherited from the site. - Wait for the next crawl or trigger a crawl
After reindexing, the content is added to the crawl queue. In SharePoint Online, the crawl occurs automatically within 15 minutes to a few hours. In SharePoint Server, the crawl schedule is set by the admin. You can monitor progress by checking the search results for a known file. If results do not appear after 24 hours, contact your SharePoint admin to verify the crawl schedule.
If SharePoint Still Has Issues After the Main Fix
Search returns only file names, not content
This usually means the file content itself was not indexed. Check the file type. SharePoint indexes text-based formats (DOCX, PDF, XLSX, TXT) but not binary formats (EXE, ZIP with passwords). If the file is a PDF, ensure it is not a scanned image PDF without OCR text. Re-save the file as a text-searchable PDF.
Files are indexed but not appearing in search results
Check the search schema. Some metadata properties may not be mapped to the search index. For example, if the migration tool changed the file name extension, the content type may not be recognized. Ask your admin to verify that the managed properties for content type and file extension are mapped correctly.
Reindex action does not work
If the Reindex button is grayed out or missing, you may not have sufficient permissions. You need at least Design permission level on the site. If you are a site owner and the button is still missing, the site collection may have search turned off. Go to Site settings > Search and offline availability and ensure Allow this site to appear in search results is set to Yes.
Reindex Site vs Reindex Library: Key Differences
| Item | Reindex Site | Reindex Library |
|---|---|---|
| Scope | All content in the site collection, including subsites, lists, and libraries | Only the selected document library |
| Time to complete | Longer — may take hours depending on content volume | Faster — usually completes within the next crawl cycle |
| When to use | After a full migration, site restore, or large content move | After uploading a batch of files to one library |
| Permissions needed | Site owner or higher | Library owner or higher |
Use the library-level reindex when only one library was affected. Use site-level reindex after a large migration to ensure all content is crawled.
After forcing a reindex, you can now search for file content in the migrated location. If results still do not appear, check the crawl log in the SharePoint admin center to see if the crawler encountered errors. As a final step, consider using the SharePoint Migration Tool (SPMT) with the option “Preserve file share permissions” to ensure metadata is copied correctly. An advanced tip: before migrating large amounts of data, create a test migration of 10 files to verify that search indexing works as expected.