I hired a developer to implement the LearnDash plugin on my Wordpress site. He wasn't able to finish the project and left my site with several unnecessary pages and plugins. I want to get my site back to the way it was before he installed Learndash. I deactivated several plugins that were associated with learndash: woocommerce, mailchimp, etc. I also unpublished several pages that were associated with registration and courses. My question relates to a few pages that I can't delete. On my page there is a site map that is created automatically by a plugin. On that site map, it lists three pages: "Shop", "Register" and "Premium Course" that I would like to delete. This issue is that I can't find these pages anywhere on the Wordpress dashboard. I have checked posts, pages, projects, and hunted around within the plugins. Is there a way to find where the pages are located so that I can delete them?
Keep in mind there's really only a few actual pages in WordPress. Most URLs are getting redirected to index.php, parsed for the request information, and then processed accordingly. They are mostly posts in the end, which are pulled from the database and displayed according to one or more template files.
The reason that's important is because it means you can't really be sure where a "page" is coming from. It could be a post, a page, a redirect rule, a custom post, etc.
So you're left with digging around a bit. There's not a clean answer I know of.
When you load the page, can you click "Edit" in the admin toolbar?
If it is represented by a WordPress post behind the scenes, then it has a post ID. Another technique is if you inspect the page and look at the classes added to the main article, you may see a clue as to it's ID, which will help you track it down. Note that not all themes implement the post classes correctly, so you may see nothing at all.
Once you have the ID, you may be able to tell where it's coming from, even if you have to look at the row with that ID in your database (wp_posts).
Its possible those pages do not have actual posts behind them and are being generated by the theme or a plug-in. Do they persist when you deactivate all plugins and change themes? If so, turn them back on one by one until you find the culprit.
I had a similar issue with LearnPress plugin. In this case the plugin took over the "courses" slug, even when it already existed, and changed it to "courses-2". Even after uninstalling LearnPress, I was unable to get back the original "courses" slug. (I then resorted to a backup I made before installing LearnPress and in a couple of minutes the issue was history).
In your case it could also be that the "Shop", "Register" and "Premium Course" pages don't actually exist anymore, but their "shop", "register" and "premium-course" slugs do still persist in the database, being thus automatically indexed to the Sitemap.
Don't know if you have a backup of your site previous to the installation of LearnDash. If not, you could either try to remove and cleanup the old slugs manually or via some plugin.
I know this is the last thing you want to do, but you might accomplish this with some plugins.
WP Optimize removes lots of unnecessary data from your database. I would start there first.
If this does not help, I had some luck in the past with Plugins Garbage Collector which cleans the old plugin tables and data.
Make sure these plugins are compatible with your WordPress version before you install them and make sure to back up your database before you attempt any of these.
Hope this helps!