Classic SharePoint to Modern SharePoint
Assess and modernize classic SharePoint pages, scripts, workflows, and InfoPath forms with modern SharePoint, SPFx, and Power Platform — decided per component.
- Published
- Reading time
- 15 min read
What you’ll learn
- Classic versus modern SharePoint
- Why inventory comes first
- Modernization decision framework
- Classic site inventory
- Classic pages to modern pages
On this page (36 sections)
Direct answer: Moving from Classic SharePoint to Modern SharePoint is not a page conversion exercise. Legacy environments carry publishing sites, custom master pages, page layouts, Script Editor and Content Editor Web Parts, JSLink, custom JavaScript and CSS, SharePoint Designer workflows, InfoPath forms, legacy web parts, search customizations, custom APIs, add-ins, farm and sandbox-era solutions, and third-party integrations — each needing a retire, retain, replace, modernize, or rebuild decision driven by business requirements.
Modernization is a business-requirement decision, not a one-to-one technology replacement exercise. Some components retire, some have native modern alternatives, some need Power Platform, some require SPFx, and some require architectural redesign.
- Classic SharePoint — pages, scripts, workflows, forms, customizations as found.
- Discover — find every legacy dependency, not just pages.
- Inventory — record what, where, owner, usage, and dependencies.
- Assess — requirement, supportability, and risk per component.
- Retire, retain, replace, modernize, or rebuild — decided per component.
- Modern SharePoint — with SPFx, Power Platform, and Microsoft Graph where justified.
Microsoft's own phased changes to classic experiences carry specific timelines — see the modernization roadmap for the current dates rather than any date stated here. For the surrounding program, use Migration Assessment & Readiness, the Migration Checklist, Migration Validation, and the migration hub.
Classic versus modern SharePoint
Classic is not automatically bad — legacy implementations often encode important business logic that must be understood before replacement. Compare honestly, area by area:
| Area | Classic approach | Modern direction |
|---|---|---|
| Pages | Wiki, web part, and publishing pages with layouts | Responsive modern pages with supported web parts |
| Web parts | Classic and script-based web parts | Modern web parts, or SPFx where custom is justified |
| Navigation | Structural, managed, and master-page navigation | Hub and modern site navigation |
| Branding | Master pages, page layouts, custom CSS | Themes, site branding, hub navigation |
| Lists and libraries | Deeply nested structures, heavy folders | Flat sites with metadata and views |
| Customization model | Script injection, JSLink, farm and sandbox solutions | SPFx, supported APIs, and extensions |
| Responsive experience | Desktop-oriented, often broken on mobile | Mobile-ready by default |
| Integration | Custom APIs, add-ins, server-side patterns | Microsoft Graph and supported connectors |
| Automation | SharePoint Designer workflows | Power Automate, redesigned per process |
| Search | Search centers, display templates, query rules | Microsoft Search and supported search experiences |
Why inventory comes first
Do not start with "how do we convert this?" Start with "what business requirement does this still satisfy?" Technical inventories alone are insufficient — an inventory without owners, usage, and requirements is a parts list, not a plan. For every legacy component capture what it is, where it lives, who owns it, who uses it, what business requirement it satisfies, what data it accesses, what else depends on it, whether it is still required, and what happens if it disappears.
- Legacy component — as found.
- Business requirement — in the owner's words, not the code's.
- Still required? — no requirement ends the discussion.
- Modern capability available? — native, Power Platform, or SPFx.
- Decision — retire, retain, replace, modernize, or rebuild.
Modernization decision framework
Five decisions cover every component. Actual decisions always require environment-specific analysis — the framework keeps them consistent, not automatic:
| Decision | Meaning |
|---|---|
| Retire | No longer needed — no defended requirement. |
| Retain | Still supported and appropriate as-is. |
| Replace | An existing modern or native capability covers it. |
| Modernize | Redesigned using current Microsoft 365 capabilities. |
| Rebuild | Custom functionality still required — new implementation. |
- Legacy component — inventoried with its requirement.
- Still used? — no goes to retire.
- Native modern capability? — yes goes to replace.
- Can the requirement be redesigned? — yes goes to modernize.
- Custom development justified? — yes goes to rebuild, funded and owned.
Classic site inventory
Risk and readiness depth lives in Migration Assessment & Readiness — this inventory tracks completion, that guide explains what to look for.
Classic pages to modern pages
Assess page type, layout, web parts, embedded scripts, custom branding, business functionality, and publishing dependencies. Simple content pages usually map cleanly to modern pages; pages with custom functionality route to modern capabilities or SPFx; legacy publishing requirements trigger architecture redesign rather than conversion. Not every classic page can or should be treated as a simple visual conversion.
- Classic page — components analyzed, not just screenshotted.
- Simple content? — goes to a modern page.
- Custom functionality? — goes to a modern capability or SPFx.
- Legacy publishing requirement? — goes to architecture redesign.
Script Editor Web Part
Script Editor implementations earn a major section because they hide arbitrary code behind an innocent page component — and each one is a Migration-to-SPFx decision. Inventory every instance and assess what its scripts actually do: DOM manipulation, SharePoint REST calls, JSOM usage, external APIs, custom UI, navigation, forms, business logic, third-party libraries, hard-coded URLs, embedded credentials or secrets, and authentication assumptions. Then route by function: still required, then native capability, JSON formatting, Power Platform, SPFx, or retire. Never treat Script Editor to SPFx as automatic — most scripts implement presentation or process needs that modern capabilities already cover, and secrets found in scripts trigger a credential-rotation conversation first. For the full per-script decision process, see Script Editor to SPFx modernization.
Content Editor Web Part
Determine what each instance actually contains: static content, HTML, JavaScript, CSS, embedded resources, links, or external content. Static content moves to the modern Text web part; embeds go to the Embed capability where appropriate; functional needs follow the same native, SPFx, or retire routing as Script Editor; anything without a requirement retires. The decision follows functionality, never the web part name.
Custom JavaScript
Inventory script location, loading mechanism, dependencies, DOM assumptions, SharePoint APIs used, authentication, external libraries and APIs, business logic, owners, and usage. Then route by purpose: UI formatting goes to JSON formatting where appropriate, automation to Power Automate where appropriate, business apps to Power Apps where appropriate, genuinely custom client experiences to SPFx where justified, and anything undefended to retire. Depth: Explore SharePoint Framework (SPFx).
JSLink
Legacy JSLink customizations typically rendered list views, fields, or forms with custom JavaScript. Formatting-only needs move to JSON column or view formatting; advanced custom rendering moves to SPFx Field Customizers or other supported architecture. Do not imply JSON formatting reproduces arbitrary JavaScript behavior — it covers presentation rules, not application logic.
Custom master pages
Classic master-page approaches do not transfer to modern SharePoint and should not be recreated. Inventory branding, header, footer, navigation, custom CSS, JavaScript injection, layout changes, and corporate identity requirements — then extract the underlying business requirements into branding, navigation, extensions, and theme decisions. Modern approaches include themes, modern site branding, hub navigation, and SPFx Application Customizers where justified. Never attempt an exact classic master page recreation; modernize the identity, not the artifact.
Custom CSS
Unsupported DOM-level customization breaks silently on Microsoft updates, so assess why each stylesheet exists and what business or UI requirement it addresses. Where modern theming satisfies the need, theme it; where a component is genuinely required, build it properly with SPFx. Do not encourage unsupported global CSS injection as a migration shortcut — it converts a migration project into a maintenance liability.
SharePoint Designer workflows
Inventory each workflow's triggers, actions, conditions, approvals, emails, data sources, external dependencies, owners, and business criticality. Then require the business process to be understood before anything is rebuilt: still required, redesigned around current requirements, implemented in Power Automate or a supported alternative, or retired. Power Automate is a redesign target, not a direct converter — triggers, permissions, connections, and error handling are re-proven per workflow. Patterns: approval workflows, SharePoint trigger patterns, and the Power Automate hub.
InfoPath
Inventory forms, data connections, rules, validation, conditional formatting, code, external services, workflow dependencies, and embedded business logic. Route by requirement: simple forms to modern SharePoint forms, business applications to Power Apps, complex custom experiences to SPFx or another appropriate architecture, and undefended forms to retire. Never position Power Apps as an automatic InfoPath converter — data connections and rules are redesigned, and the Power Apps vs SPFx comparison helps place the complex cases. Dataverse-backed direction: Dataverse vs SharePoint data sources.
Classic web parts
For each legacy web part ask whether a modern equivalent exists, whether the requirement can be redesigned, and whether custom development is still justified:
| Legacy capability | Modern direction | Decision required |
|---|---|---|
| Content display web parts | Modern SharePoint web parts | Confirm requirement, replace |
| List-driven UI | Microsoft Lists, JSON formatting | Redesign views, replace or modernize |
| Process widgets | Power Apps, Power Automate | Redesign process, modernize |
| Data integrations | Microsoft Graph, supported APIs | Rebuild deliberately or retire |
| Bespoke components | SPFx where justified | Rebuild only with ownership and funding |
Directions are possibilities, never fabricated direct replacements — each row still needs its decision.
Legacy SharePoint solutions
For farm solutions, sandbox solutions, legacy add-ins, provider-hosted solutions, custom web parts, custom event logic, and custom APIs, determine business requirement, hosting model, authentication, data and integration dependencies, target compatibility, and modernization approach. Do not assume all legacy custom code should become SPFx — most of it should retire or become platform capability, with SPFx reserved for justified custom development.
SPFx as a modernization option
SPFx fits custom web parts, application extensions, command sets, field customizers, custom enterprise UI, Microsoft Graph integration, SharePoint API integration, external API integration, and Teams-integrated experiences where applicable. Apply architectural judgment in order: business requirement first; native Microsoft 365 capability where it fits; Power Platform where appropriate; SPFx where a custom client-side experience is genuinely required. Depth: Explore SharePoint Framework (SPFx), what SPFx is, how extensions behave.
SPFx modernization architecture
Modernized custom experiences typically compose modern SharePoint with SPFx built on React, PnPjs, Microsoft Graph, SharePoint APIs, and external APIs — secured by Microsoft Entra ID. That implies reviewing authentication, API permissions under least privilege, deployment through the App Catalog, ALM discipline, and environment configuration. Keep this section as orientation; implementation depth lives on the SPFx hub.
Power Automate in modernization
Approvals, notifications, document and list processes, scheduled automation, cross-Microsoft 365 automation, and business workflows are the natural Power Automate territory — reached by redesigning the legacy process, never by blindly rebuilding bad processes in a new engine. Legacy workflow first, business process second, redesign third, Power Automate fourth.
Power Apps in modernization
Custom forms, business applications, mobile experiences, multi-source processes, and Dataverse-backed applications may fit Power Apps — decided per legacy form or application against its requirement, with data-source design from the Dataverse vs SharePoint guide.
JSON formatting
Column and view formatting, conditional presentation, and platform-supported actions remove whole classes of custom code without deployment. Route visual requirements through one question — can JSON formatting handle it? — and only then evaluate SPFx or other approaches. Never claim JSON formatting replaces arbitrary JavaScript; it handles presentation, not logic.
Search modernization
Assess Search Centers, result sources, display templates, query rules, custom search pages, and custom search web parts against current business need, then choose among Microsoft Search, modern SharePoint search, PnP Modern Search where used, custom SPFx search experiences, or other supported designs. No single search solution is universally correct — the requirement and the content estate decide.
Navigation modernization
Assess classic, structural, managed, custom, hard-coded, and master-page navigation, then redesign around hub navigation, modern site navigation, global navigation where applicable, and SPFx extensions where justified. Tie navigation redesign to information architecture work — navigation mirrors structure, so redesigned structures need redesigned navigation. Patterns: the information architecture blueprint.
Information architecture
Modernization is not only UI modernization. Review sites, subsites, hub sites, libraries, folders, metadata, content types, navigation, search, and permissions, then rebuild the hierarchy around business structure into a modern architecture. Never automatically recreate deeply nested legacy structures — flatten into hub-connected sites with metadata-driven libraries.
Permissions during modernization
Architecture changes move permission boundaries: split and consolidated sites, new group-connected workloads, and redesigned libraries all invalidate old access assumptions. Review site permissions, groups, unique permissions, external access, ownership, and identity mapping through the modernization lens, with method depth in SharePoint Migration Permissions. Do not duplicate that guide here — carry its checklist into the modernization plan.
Microsoft Graph in modernized solutions
Users, groups, Teams, files, and Microsoft 365 data reach modernized solutions through Graph called from SPFx, Power Platform, or applications — authenticated under least privilege. Not every SharePoint operation belongs on Graph; SharePoint APIs remain appropriate where they fit. Concepts: Microsoft Graph for beginners and what Microsoft Graph is.
Third-party solutions
For third-party web parts, workflow and forms products, migration-era dependencies, search products, and custom connectors, determine licensing status, support status, continued requirement, modern-version availability, native replaceability, and what happens to existing data and configuration. Evaluate evidence only — never criticize named vendors without it.
Modernization matrix
| Classic or legacy component | Business requirement | Modern options | Decision |
|---|---|---|---|
| Classic pages | Content publishing | Native modern pages, redesign | Replace or modernize |
| Script Editor | Embedded behavior or UI | Native, JSON formatting, Power Platform, SPFx, retire | Per-script routing |
| Content Editor | Content or embedded function | Text web part, embed, native, SPFx, retire | Per-instance routing |
| Custom JavaScript | Varies by script | JSON formatting, Power Platform, SPFx, retire | Per-script routing |
| JSLink | Rendering customization | JSON formatting, SPFx Field Customizer | Formatting vs custom |
| Master pages | Branding and navigation | Themes, hub navigation, SPFx extensions | Modernize identity |
| Custom CSS | Visual requirements | Theming, SPFx component | Theme or rebuild |
| SharePoint Designer workflow | Business process | Power Automate, supported alternative, retire | Redesign per process |
| InfoPath | Forms and data capture | Modern forms, Power Apps, SPFx | Per-form routing |
| Legacy web parts | Display or interaction | Native modern, SPFx, retire | Per-part routing |
| Search customization | Findability scenarios | Microsoft Search, PnP Modern Search, SPFx | Per-scenario design |
| Navigation | Wayfinding | Hub and modern navigation, SPFx extensions | Redesign with IA |
| Custom forms | Data workflows | Modern forms, Power Apps, SPFx | Per-form routing |
| Custom APIs | Integrations | Microsoft Graph, supported APIs | Rebuild deliberately |
| Legacy add-ins | Varies by add-in | Native, Power Platform, SPFx, retire | Per-add-in review |
Modern options are possibilities, never guaranteed one-to-one replacements — each row still records its own decision with an owner.
Modernization prioritization
Prioritize by business criticality, usage, technical complexity, security risk, supportability, migration-blocker status, dependencies, modern-alternative availability, and effort. No numeric scores — use plain priorities:
| Priority | Meaning |
|---|---|
| P0 | Migration blocker or critical dependency — addressed first. |
| P1 | Important modernization required for business continuity. |
| P2 | Useful improvement after migration stabilizes. |
Modernize before, during, or after migration
There is no universal sequence — the component decides. Migration blockers are addressed before or during migration; business-critical modernization is planned with migration; non-blocking improvements can follow once content stabilizes.
- Legacy component — assessed with its requirement.
- Migration blocker? — yes goes before or during migration.
- Business critical? — yes plans modernization with migration.
- Otherwise — consider post-migration modernization.
Modernization pilot
Pilot with a representative slice — a classic page, a legacy script, a workflow, a form, permissions, search, an SPFx or custom component, and a business process — then modernize, migrate, validate, user-test, and refine the architecture before scaling. A pilot of only simple pages proves nothing about legacy risk.
Validation after modernization
Validate content, metadata, permissions, pages, navigation, search, workflows, forms, Power Automate, Power Apps, SPFx, Graph and API integrations, and business processes — method depth in SharePoint Migration Validation, not duplicated here.
Modernization risks
| Risk | Mitigation direction |
|---|---|
| Unknown dependencies | Inventory usage and dependents before deciding anything. |
| No business owner | Park the component as review — never modernize by guessing. |
| Hard-coded URLs | Extract to configuration during rebuild; remediate links at cutover. |
| Legacy authentication | Redesign onto Entra ID patterns before migration pressure peaks. |
| Unsupported APIs | Map to Graph or supported APIs with parity testing. |
| Custom JavaScript | Route per script through formatting, platform, SPFx, or retire. |
| Complex workflows | Redesign around current process with owner testing. |
| Hidden integrations | Trace data flows during discovery, not after go-live. |
| Permission changes | Validate effective access per wave with personas. |
| Search dependencies | Test findability scenarios, not just crawl success. |
| Third-party dependencies | Confirm support, licensing, and data fate in writing. |
| Insufficient user testing | Gate waves on business validation, not tool reports. |
Common modernization mistakes
- Migrating everything without inventory — sprawl arrives modernized in name only.
- Rebuilding every legacy customization — most should retire or become platform capability.
- Assuming SPFx is required for everything — it is reserved for justified custom development.
- Assuming Power Apps replaces every form — requirements decide, per form.
- Assuming Power Automate replaces every workflow — redesign first, per process.
- Copying legacy information architecture — flatten into hubs and metadata.
- Ignoring permissions — access failures follow architectural changes.
- Ignoring integrations — silent breakage after content moves.
- Skipping pilot testing — production-shaped risk belongs in the pilot.
- Skipping business validation — tool success is not user success.
- Removing functionality without owner approval — retirement is a signed decision.
Solution blueprint: classic SharePoint modernization
Reference shape only — not a customer case study. Classic pages, scripts, workflows, forms, and customizations pass through discovery and assessment into retire, replace, modernize, and rebuild decisions, landing on SharePoint Online with SPFx, Power Apps, Power Automate, Microsoft Graph, and Microsoft Entra ID where each is justified.
- Classic SharePoint — pages, scripts, workflows, forms, customizations.
- Discovery and assessment — inventory, requirements, dependencies, owners.
- Modernization decisions — retire, replace, modernize, rebuild per component.
- Modern Microsoft 365 — SharePoint Online plus SPFx, Power Apps, Power Automate, Microsoft Graph, and Microsoft Entra ID.
Modernization checklist
Discover: sites, pages, web parts, scripts, workflows, forms, integrations inventoried; owners identified; usage reviewed.
Assess: business requirements confirmed; dependencies mapped; unsupported approaches identified; migration blockers identified.
Decide: retire, retain, replacement, modernization, and rebuild decisions documented per component.
Design: modern architecture, SPFx requirements, Power Platform requirements, search strategy defined; permission model reviewed.
Implement: pilot completed; migration completed; modern components deployed.
Validate: content, permissions, workflows, forms, SPFx, integrations tested; business users validate critical scenarios.
Modernizing a legacy SharePoint environment?
If you are assessing classic pages, custom scripts, SharePoint Designer workflows, InfoPath, legacy integrations, or SPFx modernization requirements, share the environment and challenge with nextM365: Discuss Your Modernization.
Continue with Explore SharePoint Migration, Explore SPFx, the assessment guide, the migration checklist, migration validation, and modernization roadmap.
Related resources
Topics covered
Architecture · Governance · Security
Frequently asked questions
What is the difference between Classic and Modern SharePoint?
Classic SharePoint allows deep page, branding, and script customization with server-side-era patterns; modern SharePoint favors responsive pages, supported web parts, themed branding, and client-side extensibility through SPFx and platform integrations.
Can Classic SharePoint sites be migrated to Modern SharePoint?
Content, lists, libraries, and metadata migrate; the experience layer usually does not transfer as-is. Each classic component needs an inventory entry and a retire, retain, replace, modernize, or rebuild decision.
Can Classic SharePoint pages be converted to modern pages?
Simple content pages often map cleanly to modern pages, but pages with embedded scripts, custom branding, or publishing dependencies need component analysis first — not every classic page should become a modern page unchanged.
What replaces Script Editor Web Parts?
It depends on what the script does: retire it, use a native modern capability or JSON formatting for presentation, Power Platform for process needs, or SPFx where custom client-side code remains justified. There is no automatic one-to-one replacement.
What replaces JSLink in Modern SharePoint?
Formatting-only customizations usually move to JSON column or view formatting; advanced custom rendering moves to SPFx Field Customizers or other supported architecture. JSON formatting cannot reproduce arbitrary JavaScript behavior.
What replaces SharePoint Designer workflows?
Still-required processes are redesigned around current business requirements, typically in Power Automate — which is a redesign target, not a direct converter. Retire what no owner defends.
What replaces InfoPath?
Simple forms move to modern SharePoint forms, business applications to Power Apps, and complex custom experiences to SPFx or another appropriate architecture — chosen per form after confirming the business requirement.
When should SPFx be used during SharePoint modernization?
When a confirmed requirement cannot be retired and no native Microsoft 365 capability or Power Platform approach fits — custom web parts, extensions, enterprise UI, and Graph or API integrations with justified custom development.
Should SharePoint be modernized before or after migration?
Migration blockers are addressed before or during migration; business-critical modernization is planned with migration; non-blocking improvements can follow. There is no universal sequence — the component decides.
Can custom JavaScript be used in Modern SharePoint?
Not through classic script-injection patterns. Presentation needs go to theming or JSON formatting, process needs to Power Platform, and justified custom experiences to SPFx — each reviewed against supported extension points.
Sources
Have a Microsoft 365 topic idea?
Share article suggestions, community session ideas, corrections, or real-world scenarios for future nextM365 learning notes.
Keep learning Microsoft 365
Explore more practical tutorials for SharePoint, Power Platform, Copilot Studio, migration, automation, governance, and security.
Continue learning
Related tutorials
Related questions
Related comparisons