Do wordpress create a new file for each new post?

You’re asking several questions:

  1. Does WP create a new PHP file for each post? No, it does not. Your statement, “[insert] a database [record],” is correct. The record it creates for a post (and also many other post types) is in the wp_posts (your prefix may not be wp_) table.
  2. Is it SEO-friendly? This is a much more complicated question. The short answer is, “yes,” but only if you get a lot of other things right.

There are times when WP uses a separate PHP file for a particular post (look in the Codex under Theme Development) but WP does not normally create any PHP files.

It seems that you think that having an individual PHP file for a post and the post being SEO-friendly are related. This is not really the case. Search engines don’t really care much about the physical implementation of your website, just the HTML that’s created.

There are many resources on making your site SEO-friendly. Most of the work is between the theme and the content on the site but there are many plugins that can help you.

This is a fairly complicated subject and specific methods change over time. If you can’t find a good plugin that addresses your needs you may consider consulting a person or firm with SEO expertise to help.

Do know that a significant portion of the Internet runs WP and it is definitely possible to make WP SEO-friendly without a lot of modification. Also keep in mind that many SEO plugins are some of the most-used plugins in WP and therefore some of the most frequently attacked.