It is not the first time that I have looked at IPFS and I still have a hard time understanding how the ecosystem is going to work.
From my understanding, the file hash is basically the file URL, such that any change to the file content is a change to the file url as well. For hosting something like Wikipedia, how would one create pages that link to one another? And if indexes need to be created on top of the content, how are the different indexes kept in sync?
IPFS uses content-based addressing; it creates an address of a file based on data contained within the file. If you were to share an IPFS address such as /ipfs/QmbezGequPwcsWo8UL4wDF6a8hYwM1hmbzYv2mnKkEWaUp with someone, you would need to give the person a new link every time you update the content.
The InterPlanetary Name System (IPNS) solves this issue by creating an address that can be updated.
A name in IPNS is the hash of a public key. It is associated with a record containing information about the hash it links to that is signed by the corresponding private key. New records can be signed and published at any time.
...
Alternatives to IPNS
IPNS is not the only way to create mutable addresses on IPFS. You can also use DNSLink, which is currently much faster than IPNS and also uses human-readable names. Other community members are exploring ways to use blockchains to store common name records.
First you had a decentralized internet, anyone with a computer could put something online, but sharing IP's everywhere was not easy to remember, and some weren't static... So they created DNS and Top Level Domains...
IPNS is not DNS. It's just a fixed wrapper for mutable content. You are supposed to combine IPNS with something like ENS if you want human friendly names.
From my understanding, the file hash is basically the file URL, such that any change to the file content is a change to the file url as well. For hosting something like Wikipedia, how would one create pages that link to one another? And if indexes need to be created on top of the content, how are the different indexes kept in sync?