The Most Efficient Way to Index your Obsidian Vault

I’ve been using Obsidian for a year and a half, and in that time I’ve had some trouble organizing my notes properly.
It’s only recently that I found a method that works for me, so I’m going to share it with you.
The Problem with Obsidian’s Backlinks
There’s a really important feature in Obsidian called “Backlinks”. They allow you to navigate easily through your notes.
But, are they really useful? How many of you navigate in your notes from backlinks, or from the graph view? Backlinks have some use cases, but when you have a lot of notes and you want every single note to be correctly organized and easily findable, backlinks are not the solution.
Maybe for you, it works, but from my experience, it doesn’t. One thing I did was creating a field called “Topics” in each note, where I just referenced backlinks. But it’s not the way, it doesn’t really provide a way to navigate through notes.
What is a Map of Content (MOC)
A MOC is a note containing several references to other notes. You can make MOCs related to topics such as science, tech… but a MOC can also be a note containing a reference to all your daily notes for example.
Now, there are many ways to create MOCs. I started with “manual MOCs”, which are just notes where you add backlinks over time. But they ended up being useless because I often forgot to add content to them.
By the end of the day, my MOCs were not up to date, and so useless.
If you have a few notes, MOCs can seem useless, but as soon as you have hundreds of notes, you absolutely need MOCs.
Making Automatic MOCs with Dataview
Dataview is an amazing Obsidian plugin. I’ve already talked about it many times so I won’t talk about it in detail, if you want more information about this plugin you can click here.
I’ll just say that it allows you to treat your vault as if it was a database, and it’s exactly what we’re looking for when wanting to create automatic MOCs.
Now let’s dive into my system. I use a kind of Zettelkasten method to take notes and organize them. It means all my notes are in the same folder. How can you organize 1000+ notes without using folders?
Each note as a dataview field called “Topics”. It allows me to use backlinks and reference other notes.
Let’s say I have a note called “‘Navier-Stokes Equation”. Topics can be “Mechanics”, “Fluid Mechanics”, “Science”, etc… But I think the more you’re accurate, the better. And at the same time, a topic must be global enough to have many notes that can reference it. So the topic I would choose would be “Fluid Mechanics” or “Mechanics” depending on the notes I already have in my vault.
Then, I will create a note for this topic, and make it an automatic MOC. I use tags to define note status, so I would tag this note #zettelkasten/moc. Then, I would write a dataview query to retrieve all the notes containing “Mechanics” in the “Topics’ field. Here is the query:
```dataview
LIST
FROM "100 Zettelkasten"
WHERE contains(Topics,[[Mechanics]])
```This way, if I create other mechanics-related notes, I don’t have to worry about adding them to the MOC because it will be done automatically as soon as “Mechanics” is in the “Topics” field.
Scaling
You can create MOCs for every “scale”. I don’t know how to describe scale in this case, maybe something like abstraction and globality of the topics.
For example, here I have a “Mechanics” MOC. But this MOC can also be referenced in another MOC called “Science”, for example.
Another example: “A-B Testing -> Google AdWords -> Marketing -> Business”.
Now, my PKM system is organized as the following: there are MOCs and there are other notes. Each note should be referenced in at least one MOC. This way, I can access any note when I go through my MOCs.
Orphans
Sometimes, you can have absolutely no idea about the topics related to a note. Or maybe it just doesn’t make sense to assign topics to a certain note.
I had to find a solution to handle such cases because with this system if a note isn’t referenced by a MOC, it is lost. The solution is just to tag the note with something like “#zettelkasten/orphan” to be able to find them through the search tool. You can even create a MOC referencing the orphans.
Refactoring
It took me something like 4 hours to refactor my 1500 notes. But it could have been a lot longer if I had not used templates.
So, if you plan to massively refactor your notes, I think you should create templates (and use QuickAdd by the way).
Here is the template I use for any Zettelkasten-related note:
<%*
const fileName = await tp.system.prompt("File Name");
const fileType = await tp.system.suggester(["🌱", "🌿", "🌞", "🌲", "🧒", "🗺️"], ["seed", "fern", "incubating", "evergreen", "orphan", "moc"]);
await tp.file.rename(fileName)
let filePath = "100 Zettelkasten/"+fileName
let mocQuery = ""
switch (fileType) {
case 'moc':
filePath = "100 Zettelkasten/120 MOC/"+fileName
mocQuery = '```dataview\nLIST\nFROM "100 Zettelkasten"\nWHERE contains(Topics,[['+fileName+']])\n```'
break;
case 'seed':
filePath = "100 Zettelkasten/110 Zettelkasten Inbox/"+fileName
break;
}
await tp.file.move(filePath)
%>---
aliases:
tags: zettelkasten/<% fileType %>
---
Topics::
References::
# <% fileName %>
---
<% mocQuery %>The template uses some JavaScript. For the technophobes, JavaScript is required in this template to make it a multi-functional template. It allows me to create MOCs and normal notes from the same template.
If the note is a MOC, it adds the dataview query and moves the note to a specific folder, else it doesn’t add the query and moves the note elsewhere. If you don’t like JS, you can reproduce the same with several templates + QuickAdd.
This way, when I refactored my notes, I just had to hit a shortcut, and I could create automatic MOCs in a few seconds.
Final Note
This way of organizing my knowledge is the most efficient I’ve found after 1.5 years of using Obsidian. It’s particularly efficient when you have hundreds of notes.
Maybe you have other ways of indexing your notes and organizing your notes? Let me know in the comments, I’m curious!
Find all my Obsidian-related stuff here: Use Obsidian like a Pro
To explore more of my self-improvement stories, click here!
If you liked the story, don’t forget to clap and maybe follow me if you want to explore more of my content :)
You can also subscribe to me via email to be notified every time I publish a new story, just click here!
If you’re not subscribed to medium yet and wish to support me or get access to all my stories, you can use my link:






